TSTP Solution File: ALG263^3 by Vampire---4.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire---4.8
% Problem  : ALG263^3 : TPTP v8.2.0. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s

% Computer : n020.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Mon May 20 18:20:28 EDT 2024

% Result   : Theorem 0.20s 0.58s
% Output   : Refutation 0.20s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   59
%            Number of leaves      :  104
% Syntax   : Number of formulae    :  302 ( 227 unt;  63 typ;   0 def)
%            Number of atoms       : 5577 (1242 equ;   0 cnn)
%            Maximal formula atoms :    3 (  23 avg)
%            Number of connectives : 22398 ( 208   ~;   7   |; 101   &;16191   @)
%                                         (   2 <=>;2497  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    5 (   2 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  : 1416 (1416   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   99 (  95 usr;  43 con; 0-4 aty)
%                                         (3392  !!;   0  ??;   0 @@+;   0 @@-)
%            Number of variables   : 3834 (3578   ^ 256   !;   0   ?;3834   :)

% Comments : 
%------------------------------------------------------------------------------
thf(type_def_5,type,
    term: $tType ).

thf(type_def_7,type,
    subst: $tType ).

thf(func_def_0,type,
    term: $tType ).

thf(func_def_1,type,
    subst: $tType ).

thf(func_def_2,type,
    one: term ).

thf(func_def_3,type,
    ap: term > term > term ).

thf(func_def_4,type,
    lam: term > term ).

thf(func_def_5,type,
    sub: term > subst > term ).

thf(func_def_6,type,
    id: subst ).

thf(func_def_7,type,
    sh: subst ).

thf(func_def_8,type,
    push: term > subst > subst ).

thf(func_def_9,type,
    comp: subst > subst > subst ).

thf(func_def_10,type,
    var: term > $o ).

thf(func_def_18,type,
    hoasap: subst > term > subst > term > term ).

thf(func_def_73,type,
    hoaslam: subst > ( subst > term > term ) > term ).

thf(func_def_86,type,
    hoasinduction_p_and_p_prime: ( subst > term > subst > $o ) > ( term > $o ) > $o ).

thf(func_def_107,type,
    hoasvar: subst > term > subst > $o ).

thf(func_def_121,type,
    pushprop_p_and_p_prime: term > subst > ( term > $o ) > ( term > $o ) > $o ).

thf(func_def_142,type,
    sK1: ( term > $o ) > term ).

thf(func_def_143,type,
    sK2: ( term > $o ) > term ).

thf(func_def_144,type,
    sK3: ( term > $o ) > term ).

thf(func_def_145,type,
    sK4: ( term > $o ) > term ).

thf(func_def_146,type,
    sK5: ( term > $o ) > term ).

thf(func_def_147,type,
    sK6: ( term > $o ) > term ).

thf(func_def_148,type,
    sK7: ( term > $o ) > term ).

thf(func_def_149,type,
    sK8: ( term > $o ) > term ).

thf(func_def_150,type,
    sK9: ( term > $o ) > term ).

thf(func_def_151,type,
    sK10: ( term > $o ) > subst > term ).

thf(func_def_152,type,
    sK11: ( term > $o ) > term ).

thf(func_def_153,type,
    sK12: ( term > $o ) > term ).

thf(func_def_154,type,
    sK13: ( term > $o ) > term ).

thf(func_def_155,type,
    sK14: subst > ( term > $o ) > term ).

thf(func_def_156,type,
    sK15: subst > ( term > $o ) > term ).

thf(func_def_157,type,
    sK16: subst > ( term > $o ) > term ).

thf(func_def_158,type,
    sK17: ( term > $o ) > term ).

thf(func_def_159,type,
    sK18: ( term > $o ) > term ).

thf(func_def_160,type,
    sK19: ( term > $o ) > subst > term ).

thf(func_def_161,type,
    sK20: ( term > $o ) > subst > term ).

thf(func_def_162,type,
    sK21: ( term > $o ) > subst > term ).

thf(func_def_163,type,
    sK22: ( term > $o ) > term ).

thf(func_def_164,type,
    sK23: ( term > $o ) > term ).

thf(func_def_165,type,
    sK24: ( term > $o ) > term ).

thf(func_def_166,type,
    sK25: ( term > $o ) > term ).

thf(func_def_167,type,
    sK26: ( term > $o ) > term ).

thf(func_def_168,type,
    sK27: ( term > $o ) > term ).

thf(func_def_169,type,
    sK28: ( term > $o ) > term ).

thf(func_def_170,type,
    sK29: ( term > $o ) > term ).

thf(func_def_171,type,
    sK30: ( term > $o ) > term ).

thf(func_def_172,type,
    sK31: ( subst > term > term ) > subst ).

thf(func_def_173,type,
    sK32: ( subst > term > term ) > subst ).

thf(func_def_174,type,
    sK33: ( subst > term > term ) > term ).

thf(func_def_175,type,
    sK34: ( subst > term > term ) > subst ).

thf(func_def_176,type,
    sK35: ( subst > term > term ) > term ).

thf(func_def_177,type,
    sK36: ( subst > term > term ) > subst ).

thf(func_def_178,type,
    sK37: ( subst > term > term ) > term ).

thf(func_def_179,type,
    sK38: ( subst > term > term ) > subst ).

thf(func_def_180,type,
    sK39: ( subst > term > term ) > subst ).

thf(func_def_181,type,
    sK40: ( subst > term > term ) > term ).

thf(func_def_182,type,
    sK41: ( subst > term > term ) > subst ).

thf(func_def_183,type,
    sK42: ( subst > term > term ) > subst ).

thf(func_def_184,type,
    sK43: subst > term > subst > $o ).

thf(func_def_185,type,
    sK44: term > $o ).

thf(func_def_186,type,
    sK45: term ).

thf(f1148,plain,
    $false,
    inference(trivial_inequality_removal,[],[f1147]) ).

thf(f1147,plain,
    $true = $false,
    inference(backward_demodulation,[],[f1087,f1146]) ).

thf(f1146,plain,
    ( ( var @ sK45 )
    = $false ),
    inference(trivial_inequality_removal,[],[f1144]) ).

thf(f1144,plain,
    ( ( $true = $false )
    | ( ( var @ sK45 )
      = $false ) ),
    inference(superposition,[],[f1086,f1141]) ).

thf(f1141,plain,
    ! [X0: term] :
      ( ( ( sK44 @ X0 )
        = $true )
      | ( ( var @ X0 )
        = $false ) ),
    inference(trivial_inequality_removal,[],[f1137]) ).

thf(f1137,plain,
    ! [X0: term] :
      ( ( ( var @ X0 )
        = $false )
      | ( $true = $false )
      | ( ( sK44 @ X0 )
        = $true ) ),
    inference(superposition,[],[f1082,f1092]) ).

thf(f1092,plain,
    ! [X1: term] :
      ( ( $true
        = ( sK43 @ id @ X1 @ id ) )
      | ( ( var @ X1 )
        = $false ) ),
    inference(backward_demodulation,[],[f1076,f945]) ).

thf(f945,plain,
    ! [X1: term] :
      ( ( sub @ X1 @ id )
      = X1 ),
    inference(equality_proxy_clausification,[],[f944]) ).

thf(f944,plain,
    ! [X1: term] :
      ( $true
      = ( ( sub @ X1 @ id )
        = X1 ) ),
    inference(beta_eta_normalization,[],[f943]) ).

thf(f943,plain,
    ! [X1: term] :
      ( ( ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 )
        @ X1 )
      = $true ),
    inference(pi_clausification,[],[f942]) ).

thf(f942,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f940]) ).

thf(f940,plain,
    ( $true
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f920]) ).

thf(f920,plain,
    ( ( ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
        & ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                            = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                         => ( Y3 = Y2 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                           => ( Y3 = Y0 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                 => ( !! @ ( subst > term > term )
                    @ ^ [Y1: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                      = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                       => ( ( ( lam @ ( Y1 @ sh @ one ) )
                            = ( lam @ ( Y0 @ sh @ one ) ) )
                         => ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ Y3 @ Y2 )
                                    = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( lam @ ( Y0 @ sh @ one ) )
                             != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                 => ( !! @ ( subst > term > subst > $o )
                    @ ^ [Y0: subst > term > subst > $o] :
                        ( !! @ ( term > $o )
                        @ ^ [Y1: term > $o] :
                            ( ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( !! @ subst
                                          @ ^ [Y5: subst] :
                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( !! @ subst
                                            @ ^ [Y5: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( var @ ( sub @ Y2 @ id ) )
                                     => ( Y0 @ id @ Y2 @ id ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y1 @ Y2 )
                                        = ( Y0 @ id @ Y2 @ id ) ) )
                                 => ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( var @ Y2 )
                                       => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f842]) ).

thf(f842,plain,
    ( $false
    = ( ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
        & ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
        & ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                      = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
     => ( ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
          & ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                              = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                           => ( Y3 = Y2 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                             => ( Y3 = Y0 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                  = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                   => ( !! @ ( subst > term > term )
                      @ ^ [Y1: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                        = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                         => ( ( ( lam @ ( Y1 @ sh @ one ) )
                              = ( lam @ ( Y0 @ sh @ one ) ) )
                           => ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ Y3 @ Y2 )
                                      = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( lam @ ( Y0 @ sh @ one ) )
                               != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                   => ( !! @ ( subst > term > subst > $o )
                      @ ^ [Y0: subst > term > subst > $o] :
                          ( !! @ ( term > $o )
                          @ ^ [Y1: term > $o] :
                              ( ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( !! @ subst
                                            @ ^ [Y5: subst] :
                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( !! @ subst
                                              @ ^ [Y5: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( var @ ( sub @ Y2 @ id ) )
                                       => ( Y0 @ id @ Y2 @ id ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y1 @ Y2 )
                                          = ( Y0 @ id @ Y2 @ id ) ) )
                                   => ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( var @ Y2 )
                                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f765]) ).

thf(f765,plain,
    ( $false
    = ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
          & ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
          & ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                        = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
       => ( ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( sub @ Y0 @ id )
                  = Y0 ) )
            & ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                             => ( Y3 = Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                               => ( Y3 = Y0 ) ) ) ) ) )
             => ( ( !! @ ( subst > term > term )
                  @ ^ [Y0: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                    = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                     => ( !! @ ( subst > term > term )
                        @ ^ [Y1: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                          = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                           => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                = ( lam @ ( Y0 @ sh @ one ) ) )
                             => ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ Y3 @ Y2 )
                                        = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( lam @ ( Y0 @ sh @ one ) )
                                 != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                     => ( !! @ ( subst > term > subst > $o )
                        @ ^ [Y0: subst > term > subst > $o] :
                            ( !! @ ( term > $o )
                            @ ^ [Y1: term > $o] :
                                ( ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( !! @ subst
                                              @ ^ [Y5: subst] :
                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( !! @ subst
                                                @ ^ [Y5: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( var @ ( sub @ Y2 @ id ) )
                                         => ( Y0 @ id @ Y2 @ id ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y1 @ Y2 )
                                            = ( Y0 @ id @ Y2 @ id ) ) )
                                     => ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( var @ Y2 )
                                           => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f748]) ).

thf(f748,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
            & ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
            & ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
         => ( ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( sub @ Y0 @ id )
                    = Y0 ) )
              & ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                  = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                               => ( Y3 = Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                 => ( Y3 = Y0 ) ) ) ) ) )
               => ( ( !! @ ( subst > term > term )
                    @ ^ [Y0: subst > term > term] :
                        ( ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                       => ( !! @ ( subst > term > term )
                          @ ^ [Y1: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( !! @ subst
                                        @ ^ [Y4: subst] :
                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                             => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                  = ( lam @ ( Y0 @ sh @ one ) ) )
                               => ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ Y3 @ Y2 )
                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ subst
                                    @ ^ [Y3: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( lam @ ( Y0 @ sh @ one ) )
                                   != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                       => ( !! @ ( subst > term > subst > $o )
                          @ ^ [Y0: subst > term > subst > $o] :
                              ( !! @ ( term > $o )
                              @ ^ [Y1: term > $o] :
                                  ( ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( !! @ subst
                                                @ ^ [Y5: subst] :
                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y5: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( var @ ( sub @ Y2 @ id ) )
                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y1 @ Y2 )
                                              = ( Y0 @ id @ Y2 @ id ) ) )
                                       => ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( var @ Y2 )
                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f695]) ).

thf(f695,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                   => ( ( Y0 @ Y2 )
                     => ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y1 )
                       => ( ( Y0 @ Y2 )
                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
              & ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
              & ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                            = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
           => ( ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( sub @ Y0 @ id )
                      = Y0 ) )
                & ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                    = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                 => ( Y3 = Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                   => ( Y3 = Y0 ) ) ) ) ) )
                 => ( ( !! @ ( subst > term > term )
                      @ ^ [Y0: subst > term > term] :
                          ( ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                         => ( !! @ ( subst > term > term )
                            @ ^ [Y1: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( !! @ subst
                                          @ ^ [Y4: subst] :
                                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                               => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                    = ( lam @ ( Y0 @ sh @ one ) ) )
                                 => ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ Y3 @ Y2 )
                                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ subst
                                      @ ^ [Y3: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( lam @ ( Y0 @ sh @ one ) )
                                     != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                         => ( !! @ ( subst > term > subst > $o )
                            @ ^ [Y0: subst > term > subst > $o] :
                                ( !! @ ( term > $o )
                                @ ^ [Y1: term > $o] :
                                    ( ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y5: subst] :
                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y5: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( var @ ( sub @ Y2 @ id ) )
                                             => ( Y0 @ id @ Y2 @ id ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y1 @ Y2 )
                                                = ( Y0 @ id @ Y2 @ id ) ) )
                                         => ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( var @ Y2 )
                                               => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f690]) ).

thf(f690,plain,
    ( ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                     => ( Y0 @ ( lam @ Y1 ) ) ) )
               => ( !! @ term @ Y0 ) ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( ( Y0 @ Y2 )
                       => ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y1 )
                         => ( ( Y0 @ Y2 )
                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
                & ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
                & ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                              = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
             => ( ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( sub @ Y0 @ id )
                        = Y0 ) )
                  & ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                      = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                     => ( Y3 = Y0 ) ) ) ) ) )
                   => ( ( !! @ ( subst > term > term )
                        @ ^ [Y0: subst > term > term] :
                            ( ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                          = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                           => ( !! @ ( subst > term > term )
                              @ ^ [Y1: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( !! @ subst
                                            @ ^ [Y4: subst] :
                                                ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                 => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                      = ( lam @ ( Y0 @ sh @ one ) ) )
                                   => ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ Y3 @ Y2 )
                                              = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ subst
                                        @ ^ [Y3: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( lam @ ( Y0 @ sh @ one ) )
                                       != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                           => ( !! @ ( subst > term > subst > $o )
                              @ ^ [Y0: subst > term > subst > $o] :
                                  ( !! @ ( term > $o )
                                  @ ^ [Y1: term > $o] :
                                      ( ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y5: subst] :
                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y5: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( var @ ( sub @ Y2 @ id ) )
                                               => ( Y0 @ id @ Y2 @ id ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y1 @ Y2 )
                                                  = ( Y0 @ id @ Y2 @ id ) ) )
                                           => ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( var @ Y2 )
                                                 => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f683]) ).

thf(f683,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ~ ( var @ ( lam @ Y0 ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( Y0 @ Y1 )
                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                 => ( !! @ term @ Y0 ) ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( var @ Y3 )
                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                       => ( ( Y0 @ Y2 )
                         => ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y1 )
                           => ( ( Y0 @ Y2 )
                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ id @ Y0 )
                        = Y0 ) )
                  & ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                  & ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
               => ( ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( sub @ Y0 @ id )
                          = Y0 ) )
                    & ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                        = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                     => ( Y3 = Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                       => ( Y3 = Y0 ) ) ) ) ) )
                     => ( ( !! @ ( subst > term > term )
                          @ ^ [Y0: subst > term > term] :
                              ( ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                            = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                             => ( !! @ ( subst > term > term )
                                @ ^ [Y1: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( !! @ subst
                                              @ ^ [Y4: subst] :
                                                  ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                  = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                   => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                        = ( lam @ ( Y0 @ sh @ one ) ) )
                                     => ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ Y3 @ Y2 )
                                                = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ subst
                                          @ ^ [Y3: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( lam @ ( Y0 @ sh @ one ) )
                                         != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                             => ( !! @ ( subst > term > subst > $o )
                                @ ^ [Y0: subst > term > subst > $o] :
                                    ( !! @ ( term > $o )
                                    @ ^ [Y1: term > $o] :
                                        ( ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y5: subst] :
                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y5: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( var @ ( sub @ Y2 @ id ) )
                                                 => ( Y0 @ id @ Y2 @ id ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y1 @ Y2 )
                                                    = ( Y0 @ id @ Y2 @ id ) ) )
                                             => ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( var @ Y2 )
                                                   => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f673]) ).

thf(f673,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ~ ( var @ ( lam @ Y0 ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y0 @ Y2 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( Y0 @ Y1 )
                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                   => ( !! @ term @ Y0 ) ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( var @ Y3 )
                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                         => ( ( Y0 @ Y2 )
                           => ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y1 )
                             => ( ( Y0 @ Y2 )
                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ id @ Y0 )
                          = Y0 ) )
                    & ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                    & ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                 => ( ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( sub @ Y0 @ id )
                            = Y0 ) )
                      & ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                          = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                       => ( Y3 = Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                         => ( Y3 = Y0 ) ) ) ) ) )
                       => ( ( !! @ ( subst > term > term )
                            @ ^ [Y0: subst > term > term] :
                                ( ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                              = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                               => ( !! @ ( subst > term > term )
                                  @ ^ [Y1: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( !! @ subst
                                                @ ^ [Y4: subst] :
                                                    ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                    = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                     => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                          = ( lam @ ( Y0 @ sh @ one ) ) )
                                       => ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ Y3 @ Y2 )
                                                  = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ subst
                                            @ ^ [Y3: subst] :
                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( lam @ ( Y0 @ sh @ one ) )
                                           != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                               => ( !! @ ( subst > term > subst > $o )
                                  @ ^ [Y0: subst > term > subst > $o] :
                                      ( !! @ ( term > $o )
                                      @ ^ [Y1: term > $o] :
                                          ( ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y5: subst] :
                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y5: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( var @ ( sub @ Y2 @ id ) )
                                                   => ( Y0 @ id @ Y2 @ id ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y1 @ Y2 )
                                                      = ( Y0 @ id @ Y2 @ id ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( var @ Y2 )
                                                     => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f664]) ).

thf(f664,plain,
    ( $false
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( lam @ Y2 )
                   != ( ap @ Y1 @ Y0 ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ~ ( var @ ( lam @ Y0 ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y0 @ Y2 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( Y0 @ Y1 )
                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                     => ( !! @ term @ Y0 ) ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( var @ Y3 )
                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                           => ( ( Y0 @ Y2 )
                             => ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y1 )
                               => ( ( Y0 @ Y2 )
                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ id @ Y0 )
                            = Y0 ) )
                      & ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                      & ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                   => ( ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( sub @ Y0 @ id )
                              = Y0 ) )
                        & ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                            = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                         => ( Y3 = Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                           => ( Y3 = Y0 ) ) ) ) ) )
                         => ( ( !! @ ( subst > term > term )
                              @ ^ [Y0: subst > term > term] :
                                  ( ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                 => ( !! @ ( subst > term > term )
                                    @ ^ [Y1: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y4: subst] :
                                                      ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                      = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                       => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                            = ( lam @ ( Y0 @ sh @ one ) ) )
                                         => ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ Y3 @ Y2 )
                                                    = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ subst
                                              @ ^ [Y3: subst] :
                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( lam @ ( Y0 @ sh @ one ) )
                                             != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                 => ( !! @ ( subst > term > subst > $o )
                                    @ ^ [Y0: subst > term > subst > $o] :
                                        ( !! @ ( term > $o )
                                        @ ^ [Y1: term > $o] :
                                            ( ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y5: subst] :
                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y5: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( var @ ( sub @ Y2 @ id ) )
                                                     => ( Y0 @ id @ Y2 @ id ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y1 @ Y2 )
                                                        = ( Y0 @ id @ Y2 @ id ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( var @ Y2 )
                                                       => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f655]) ).

thf(f655,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( sub @ Y1 @ sh )
                  = ( sub @ Y0 @ sh ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( lam @ Y2 )
                     != ( ap @ Y1 @ Y0 ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ~ ( var @ ( lam @ Y0 ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y0 @ Y2 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( Y0 @ Y1 )
                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                       => ( !! @ term @ Y0 ) ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( var @ Y3 )
                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                             => ( ( Y0 @ Y2 )
                               => ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( ( Y0 @ Y2 )
                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ id @ Y0 )
                              = Y0 ) )
                        & ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                        & ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ subst
                                  @ ^ [Y2: subst] :
                                      ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                      = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                     => ( ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( sub @ Y0 @ id )
                                = Y0 ) )
                          & ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                              = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                             => ( Y3 = Y0 ) ) ) ) ) )
                           => ( ( !! @ ( subst > term > term )
                                @ ^ [Y0: subst > term > term] :
                                    ( ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                  = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                   => ( !! @ ( subst > term > term )
                                      @ ^ [Y1: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y4: subst] :
                                                        ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                        = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                         => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                              = ( lam @ ( Y0 @ sh @ one ) ) )
                                           => ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ Y3 @ Y2 )
                                                      = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ subst
                                                @ ^ [Y3: subst] :
                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( lam @ ( Y0 @ sh @ one ) )
                                               != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                   => ( !! @ ( subst > term > subst > $o )
                                      @ ^ [Y0: subst > term > subst > $o] :
                                          ( !! @ ( term > $o )
                                          @ ^ [Y1: term > $o] :
                                              ( ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y5: subst] :
                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y5: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( var @ ( sub @ Y2 @ id ) )
                                                       => ( Y0 @ id @ Y2 @ id ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y1 @ Y2 )
                                                          = ( Y0 @ id @ Y2 @ id ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( var @ Y2 )
                                                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f642]) ).

thf(f642,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( ( lam @ Y1 )
                  = ( lam @ Y0 ) )
               => ( Y1 = Y0 ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( sub @ Y1 @ sh )
                    = ( sub @ Y0 @ sh ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( lam @ Y2 )
                       != ( ap @ Y1 @ Y0 ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ~ ( var @ ( lam @ Y0 ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y0 @ Y2 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( Y0 @ Y1 )
                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                         => ( !! @ term @ Y0 ) ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( var @ Y3 )
                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                               => ( ( Y0 @ Y2 )
                                 => ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( ( Y0 @ Y2 )
                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( comp @ id @ Y0 )
                                = Y0 ) )
                          & ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( comp @ Y0 @ id )
                                = Y0 ) )
                          & ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ subst
                                    @ ^ [Y2: subst] :
                                        ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                        = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                       => ( ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( sub @ Y0 @ id )
                                  = Y0 ) )
                            & ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                             => ( Y3 = Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                               => ( Y3 = Y0 ) ) ) ) ) )
                             => ( ( !! @ ( subst > term > term )
                                  @ ^ [Y0: subst > term > term] :
                                      ( ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                    = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                     => ( !! @ ( subst > term > term )
                                        @ ^ [Y1: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y4: subst] :
                                                          ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                          = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                           => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                = ( lam @ ( Y0 @ sh @ one ) ) )
                                             => ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ Y3 @ Y2 )
                                                        = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y3: subst] :
                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( lam @ ( Y0 @ sh @ one ) )
                                                 != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                     => ( !! @ ( subst > term > subst > $o )
                                        @ ^ [Y0: subst > term > subst > $o] :
                                            ( !! @ ( term > $o )
                                            @ ^ [Y1: term > $o] :
                                                ( ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y5: subst] :
                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y5: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( var @ ( sub @ Y2 @ id ) )
                                                         => ( Y0 @ id @ Y2 @ id ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y1 @ Y2 )
                                                            = ( Y0 @ id @ Y2 @ id ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( var @ Y2 )
                                                           => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f629]) ).

thf(f629,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y0 @ Y3 )
                          = ( ap @ Y1 @ Y2 ) )
                       => ( Y3 = Y2 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( ( lam @ Y1 )
                    = ( lam @ Y0 ) )
                 => ( Y1 = Y0 ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( sub @ Y1 @ sh )
                      = ( sub @ Y0 @ sh ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( lam @ Y2 )
                         != ( ap @ Y1 @ Y0 ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ~ ( var @ ( lam @ Y0 ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y0 @ Y2 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                           => ( !! @ term @ Y0 ) ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( var @ Y3 )
                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                 => ( ( Y0 @ Y2 )
                                   => ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( ( Y0 @ Y2 )
                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ id @ Y0 )
                                  = Y0 ) )
                            & ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( comp @ Y0 @ id )
                                  = Y0 ) )
                            & ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ subst
                                      @ ^ [Y2: subst] :
                                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                         => ( ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( sub @ Y0 @ id )
                                    = Y0 ) )
                              & ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                               => ( Y3 = Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                 => ( Y3 = Y0 ) ) ) ) ) )
                               => ( ( !! @ ( subst > term > term )
                                    @ ^ [Y0: subst > term > term] :
                                        ( ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                       => ( !! @ ( subst > term > term )
                                          @ ^ [Y1: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y4: subst] :
                                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                             => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                  = ( lam @ ( Y0 @ sh @ one ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ Y3 @ Y2 )
                                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y3: subst] :
                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( lam @ ( Y0 @ sh @ one ) )
                                                   != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                       => ( !! @ ( subst > term > subst > $o )
                                          @ ^ [Y0: subst > term > subst > $o] :
                                              ( !! @ ( term > $o )
                                              @ ^ [Y1: term > $o] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y5: subst] :
                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y5: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( var @ ( sub @ Y2 @ id ) )
                                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y1 @ Y2 )
                                                              = ( Y0 @ id @ Y2 @ id ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( var @ Y2 )
                                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f612]) ).

thf(f612,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ Y3 @ Y1 )
                          = ( ap @ Y2 @ Y0 ) )
                       => ( Y3 = Y2 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y0 @ Y3 )
                            = ( ap @ Y1 @ Y2 ) )
                         => ( Y3 = Y2 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( ( lam @ Y1 )
                      = ( lam @ Y0 ) )
                   => ( Y1 = Y0 ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( sub @ Y1 @ sh )
                        = ( sub @ Y0 @ sh ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( lam @ Y2 )
                           != ( ap @ Y1 @ Y0 ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ~ ( var @ ( lam @ Y0 ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y0 @ Y2 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                             => ( !! @ term @ Y0 ) ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( !! @ subst
                            @ ^ [Y1: subst] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( var @ Y3 )
                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                   => ( ( Y0 @ Y2 )
                                     => ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( ( Y0 @ Y2 )
                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( ( comp @ id @ Y0 )
                                    = Y0 ) )
                              & ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( ( comp @ Y0 @ id )
                                    = Y0 ) )
                              & ( !! @ subst
                                @ ^ [Y0: subst] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ subst
                                        @ ^ [Y2: subst] :
                                            ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                            = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                           => ( ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( sub @ Y0 @ id )
                                      = Y0 ) )
                                & ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                   => ( Y3 = Y0 ) ) ) ) ) )
                                 => ( ( !! @ ( subst > term > term )
                                      @ ^ [Y0: subst > term > term] :
                                          ( ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                         => ( !! @ ( subst > term > term )
                                            @ ^ [Y1: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y4: subst] :
                                                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                               => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                    = ( lam @ ( Y0 @ sh @ one ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ Y3 @ Y2 )
                                                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y3: subst] :
                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                           => ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( lam @ ( Y0 @ sh @ one ) )
                                                     != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                         => ( !! @ ( subst > term > subst > $o )
                                            @ ^ [Y0: subst > term > subst > $o] :
                                                ( !! @ ( term > $o )
                                                @ ^ [Y1: term > $o] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y5: subst] :
                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y5: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( var @ ( sub @ Y2 @ id ) )
                                                             => ( Y0 @ id @ Y2 @ id ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y1 @ Y2 )
                                                                = ( Y0 @ id @ Y2 @ id ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( var @ Y2 )
                                                               => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f607]) ).

thf(f607,plain,
    ( $false
    = ( ( !! @ ( term > $o )
        @ ^ [Y0: term > $o] :
            ( ( Y0 @ one )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( ( Y0 @ Y1 )
                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ Y1 )
                   => ( Y0 @ Y1 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ Y3 @ Y1 )
                            = ( ap @ Y2 @ Y0 ) )
                         => ( Y3 = Y2 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y0 @ Y3 )
                              = ( ap @ Y1 @ Y2 ) )
                           => ( Y3 = Y2 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( ( lam @ Y1 )
                        = ( lam @ Y0 ) )
                     => ( Y1 = Y0 ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( sub @ Y1 @ sh )
                          = ( sub @ Y0 @ sh ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( lam @ Y2 )
                             != ( ap @ Y1 @ Y0 ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ~ ( var @ ( lam @ Y0 ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( Y0 @ Y2 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                               => ( !! @ term @ Y0 ) ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( !! @ subst
                              @ ^ [Y1: subst] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( var @ Y3 )
                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                     => ( ( Y0 @ Y2 )
                                       => ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( ( Y0 @ Y2 )
                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( comp @ id @ Y0 )
                                      = Y0 ) )
                                & ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( ( comp @ Y0 @ id )
                                      = Y0 ) )
                                & ( !! @ subst
                                  @ ^ [Y0: subst] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ subst
                                          @ ^ [Y2: subst] :
                                              ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                              = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                             => ( ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( ( sub @ Y0 @ id )
                                        = Y0 ) )
                                  & ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                     => ( Y3 = Y0 ) ) ) ) ) )
                                   => ( ( !! @ ( subst > term > term )
                                        @ ^ [Y0: subst > term > term] :
                                            ( ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                          = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                           => ( !! @ ( subst > term > term )
                                              @ ^ [Y1: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y4: subst] :
                                                                ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                 => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                      = ( lam @ ( Y0 @ sh @ one ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ Y3 @ Y2 )
                                                              = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y3: subst] :
                                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                             => ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( lam @ ( Y0 @ sh @ one ) )
                                                       != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                           => ( !! @ ( subst > term > subst > $o )
                                              @ ^ [Y0: subst > term > subst > $o] :
                                                  ( !! @ ( term > $o )
                                                  @ ^ [Y1: term > $o] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y5: subst] :
                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y5: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( var @ ( sub @ Y2 @ id ) )
                                                               => ( Y0 @ id @ Y2 @ id ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y1 @ Y2 )
                                                                  = ( Y0 @ id @ Y2 @ id ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( var @ Y2 )
                                                                 => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f605]) ).

thf(f605,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( var @ ( sub @ Y0 @ sh ) ) ) )
     => ( ( !! @ ( term > $o )
          @ ^ [Y0: term > $o] :
              ( ( Y0 @ one )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( ( ap @ Y3 @ Y1 )
                              = ( ap @ Y2 @ Y0 ) )
                           => ( Y3 = Y2 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y0 @ Y3 )
                                = ( ap @ Y1 @ Y2 ) )
                             => ( Y3 = Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( ( lam @ Y1 )
                          = ( lam @ Y0 ) )
                       => ( Y1 = Y0 ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( sub @ Y1 @ sh )
                            = ( sub @ Y0 @ sh ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( lam @ Y2 )
                               != ( ap @ Y1 @ Y0 ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ~ ( var @ ( lam @ Y0 ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( Y0 @ Y2 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                 => ( !! @ term @ Y0 ) ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( !! @ subst
                                @ ^ [Y1: subst] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( var @ Y3 )
                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                       => ( ( Y0 @ Y2 )
                                         => ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( ( Y0 @ Y2 )
                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( ( comp @ id @ Y0 )
                                        = Y0 ) )
                                  & ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( ( comp @ Y0 @ id )
                                        = Y0 ) )
                                  & ( !! @ subst
                                    @ ^ [Y0: subst] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ subst
                                            @ ^ [Y2: subst] :
                                                ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                               => ( ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( ( sub @ Y0 @ id )
                                          = Y0 ) )
                                    & ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                       => ( Y3 = Y0 ) ) ) ) ) )
                                     => ( ( !! @ ( subst > term > term )
                                          @ ^ [Y0: subst > term > term] :
                                              ( ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                            = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                             => ( !! @ ( subst > term > term )
                                                @ ^ [Y1: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y4: subst] :
                                                                  ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                  = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                   => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                        = ( lam @ ( Y0 @ sh @ one ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ Y3 @ Y2 )
                                                                = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y3: subst] :
                                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                               => ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ ( Y0 @ sh @ one ) )
                                                         != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                             => ( !! @ ( subst > term > subst > $o )
                                                @ ^ [Y0: subst > term > subst > $o] :
                                                    ( !! @ ( term > $o )
                                                    @ ^ [Y1: term > $o] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y5: subst] :
                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y5: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( var @ ( sub @ Y2 @ id ) )
                                                                 => ( Y0 @ id @ Y2 @ id ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y1 @ Y2 )
                                                                    = ( Y0 @ id @ Y2 @ id ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( var @ Y2 )
                                                                   => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f600]) ).

thf(f600,plain,
    ( ( ( var @ one )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( var @ ( sub @ Y0 @ sh ) ) ) )
       => ( ( !! @ ( term > $o )
            @ ^ [Y0: term > $o] :
                ( ( Y0 @ one )
               => ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( ( Y0 @ Y1 )
                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( var @ Y1 )
                       => ( Y0 @ Y1 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( ( ap @ Y3 @ Y1 )
                                = ( ap @ Y2 @ Y0 ) )
                             => ( Y3 = Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y0 @ Y3 )
                                  = ( ap @ Y1 @ Y2 ) )
                               => ( Y3 = Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( ( lam @ Y1 )
                            = ( lam @ Y0 ) )
                         => ( Y1 = Y0 ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( sub @ Y1 @ sh )
                              = ( sub @ Y0 @ sh ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( lam @ Y2 )
                                 != ( ap @ Y1 @ Y0 ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ~ ( var @ ( lam @ Y0 ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( Y0 @ Y2 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                   => ( !! @ term @ Y0 ) ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( !! @ subst
                                  @ ^ [Y1: subst] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( var @ Y3 )
                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                         => ( ( Y0 @ Y2 )
                                           => ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( ( Y0 @ Y2 )
                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( ( comp @ id @ Y0 )
                                          = Y0 ) )
                                    & ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( ( comp @ Y0 @ id )
                                          = Y0 ) )
                                    & ( !! @ subst
                                      @ ^ [Y0: subst] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ subst
                                              @ ^ [Y2: subst] :
                                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                 => ( ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( ( sub @ Y0 @ id )
                                            = Y0 ) )
                                      & ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                         => ( Y3 = Y0 ) ) ) ) ) )
                                       => ( ( !! @ ( subst > term > term )
                                            @ ^ [Y0: subst > term > term] :
                                                ( ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                              = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                               => ( !! @ ( subst > term > term )
                                                  @ ^ [Y1: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y4: subst] :
                                                                    ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                    = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                     => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                          = ( lam @ ( Y0 @ sh @ one ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ Y3 @ Y2 )
                                                                  = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y3: subst] :
                                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                 => ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( lam @ ( Y0 @ sh @ one ) )
                                                           != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                               => ( !! @ ( subst > term > subst > $o )
                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                      ( !! @ ( term > $o )
                                                      @ ^ [Y1: term > $o] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y5: subst] :
                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y5: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( var @ ( sub @ Y2 @ id ) )
                                                                   => ( Y0 @ id @ Y2 @ id ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y1 @ Y2 )
                                                                      = ( Y0 @ id @ Y2 @ id ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( var @ Y2 )
                                                                     => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f597]) ).

thf(f597,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
            = Y0 ) )
     => ( ( var @ one )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( var @ ( sub @ Y0 @ sh ) ) ) )
         => ( ( !! @ ( term > $o )
              @ ^ [Y0: term > $o] :
                  ( ( Y0 @ one )
                 => ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( ( Y0 @ Y1 )
                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                   => ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( var @ Y1 )
                         => ( Y0 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( ( ( ap @ Y3 @ Y1 )
                                  = ( ap @ Y2 @ Y0 ) )
                               => ( Y3 = Y2 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y0 @ Y3 )
                                    = ( ap @ Y1 @ Y2 ) )
                                 => ( Y3 = Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( ( lam @ Y1 )
                              = ( lam @ Y0 ) )
                           => ( Y1 = Y0 ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( sub @ Y1 @ sh )
                                = ( sub @ Y0 @ sh ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( lam @ Y2 )
                                   != ( ap @ Y1 @ Y0 ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ~ ( var @ ( lam @ Y0 ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( Y0 @ Y2 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                     => ( !! @ term @ Y0 ) ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( !! @ subst
                                    @ ^ [Y1: subst] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( var @ Y3 )
                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                           => ( ( Y0 @ Y2 )
                                             => ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( ( Y0 @ Y2 )
                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( ( comp @ id @ Y0 )
                                            = Y0 ) )
                                      & ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( ( comp @ Y0 @ id )
                                            = Y0 ) )
                                      & ( !! @ subst
                                        @ ^ [Y0: subst] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ subst
                                                @ ^ [Y2: subst] :
                                                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                   => ( ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( ( sub @ Y0 @ id )
                                              = Y0 ) )
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                         => ( Y3 = Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                           => ( Y3 = Y0 ) ) ) ) ) )
                                         => ( ( !! @ ( subst > term > term )
                                              @ ^ [Y0: subst > term > term] :
                                                  ( ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                 => ( !! @ ( subst > term > term )
                                                    @ ^ [Y1: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y4: subst] :
                                                                      ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                      = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                       => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                            = ( lam @ ( Y0 @ sh @ one ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ Y3 @ Y2 )
                                                                    = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y3: subst] :
                                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                   => ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( lam @ ( Y0 @ sh @ one ) )
                                                             != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                 => ( !! @ ( subst > term > subst > $o )
                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                        ( !! @ ( term > $o )
                                                        @ ^ [Y1: term > $o] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y5: subst] :
                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y5: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( var @ ( sub @ Y2 @ id ) )
                                                                     => ( Y0 @ id @ Y2 @ id ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y1 @ Y2 )
                                                                        = ( Y0 @ id @ Y2 @ id ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( var @ Y2 )
                                                                       => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f592]) ).

thf(f592,plain,
    ( ( ( id
        = ( push @ one @ sh ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
              = Y0 ) )
       => ( ( var @ one )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
           => ( ( !! @ ( term > $o )
                @ ^ [Y0: term > $o] :
                    ( ( Y0 @ one )
                   => ( ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( ( Y0 @ Y1 )
                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                     => ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( var @ Y1 )
                           => ( Y0 @ Y1 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( ( ( ap @ Y3 @ Y1 )
                                    = ( ap @ Y2 @ Y0 ) )
                                 => ( Y3 = Y2 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y0 @ Y3 )
                                      = ( ap @ Y1 @ Y2 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( ( lam @ Y1 )
                                = ( lam @ Y0 ) )
                             => ( Y1 = Y0 ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( sub @ Y1 @ sh )
                                  = ( sub @ Y0 @ sh ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( lam @ Y2 )
                                     != ( ap @ Y1 @ Y0 ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ~ ( var @ ( lam @ Y0 ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( Y0 @ Y2 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                       => ( !! @ term @ Y0 ) ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( !! @ subst
                                      @ ^ [Y1: subst] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( var @ Y3 )
                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                             => ( ( Y0 @ Y2 )
                                               => ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( ( comp @ id @ Y0 )
                                              = Y0 ) )
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( ( comp @ Y0 @ id )
                                              = Y0 ) )
                                        & ( !! @ subst
                                          @ ^ [Y0: subst] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y2: subst] :
                                                      ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                      = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                     => ( ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( ( sub @ Y0 @ id )
                                                = Y0 ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                           => ( Y3 = Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                             => ( Y3 = Y0 ) ) ) ) ) )
                                           => ( ( !! @ ( subst > term > term )
                                                @ ^ [Y0: subst > term > term] :
                                                    ( ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                  = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                   => ( !! @ ( subst > term > term )
                                                      @ ^ [Y1: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y4: subst] :
                                                                        ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                        = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                         => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                              = ( lam @ ( Y0 @ sh @ one ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ Y3 @ Y2 )
                                                                      = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y3: subst] :
                                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                     => ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( lam @ ( Y0 @ sh @ one ) )
                                                               != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                   => ( !! @ ( subst > term > subst > $o )
                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                          ( !! @ ( term > $o )
                                                          @ ^ [Y1: term > $o] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y5: subst] :
                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y5: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( var @ ( sub @ Y2 @ id ) )
                                                                       => ( Y0 @ id @ Y2 @ id ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y1 @ Y2 )
                                                                          = ( Y0 @ id @ Y2 @ id ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( var @ Y2 )
                                                                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f583]) ).

thf(f583,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
     => ( ( id
          = ( push @ one @ sh ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                = Y0 ) )
         => ( ( var @ one )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( ( var @ Y0 )
                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
             => ( ( !! @ ( term > $o )
                  @ ^ [Y0: term > $o] :
                      ( ( Y0 @ one )
                     => ( ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( ( Y0 @ Y1 )
                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                       => ( !! @ term
                          @ ^ [Y1: term] :
                              ( ( var @ Y1 )
                             => ( Y0 @ Y1 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( ( ( ap @ Y3 @ Y1 )
                                      = ( ap @ Y2 @ Y0 ) )
                                   => ( Y3 = Y2 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y0 @ Y3 )
                                        = ( ap @ Y1 @ Y2 ) )
                                     => ( Y3 = Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( ( lam @ Y1 )
                                  = ( lam @ Y0 ) )
                               => ( Y1 = Y0 ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( sub @ Y1 @ sh )
                                    = ( sub @ Y0 @ sh ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( ( lam @ Y2 )
                                       != ( ap @ Y1 @ Y0 ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ~ ( var @ ( lam @ Y0 ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( Y0 @ Y2 )
                                                 => ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                         => ( !! @ term @ Y0 ) ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( !! @ subst
                                        @ ^ [Y1: subst] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( var @ Y3 )
                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                               => ( ( Y0 @ Y2 )
                                                 => ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( ( comp @ id @ Y0 )
                                                = Y0 ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( ( comp @ Y0 @ id )
                                                = Y0 ) )
                                          & ( !! @ subst
                                            @ ^ [Y0: subst] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y2: subst] :
                                                        ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                        = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                       => ( ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( ( sub @ Y0 @ id )
                                                  = Y0 ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                             => ( Y3 = Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                               => ( Y3 = Y0 ) ) ) ) ) )
                                             => ( ( !! @ ( subst > term > term )
                                                  @ ^ [Y0: subst > term > term] :
                                                      ( ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                    = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                     => ( !! @ ( subst > term > term )
                                                        @ ^ [Y1: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y4: subst] :
                                                                          ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                          = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                           => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                = ( lam @ ( Y0 @ sh @ one ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ Y3 @ Y2 )
                                                                        = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y3: subst] :
                                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                       => ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( lam @ ( Y0 @ sh @ one ) )
                                                                 != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                     => ( !! @ ( subst > term > subst > $o )
                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                            ( !! @ ( term > $o )
                                                            @ ^ [Y1: term > $o] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y5: subst] :
                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y5: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( var @ ( sub @ Y2 @ id ) )
                                                                         => ( Y0 @ id @ Y2 @ id ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y1 @ Y2 )
                                                                            = ( Y0 @ id @ Y2 @ id ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( var @ Y2 )
                                                                           => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f574]) ).

thf(f574,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                    = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ Y0 @ id )
              = Y0 ) )
       => ( ( id
            = ( push @ one @ sh ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                  = Y0 ) )
           => ( ( var @ one )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( ( var @ Y0 )
                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
               => ( ( !! @ ( term > $o )
                    @ ^ [Y0: term > $o] :
                        ( ( Y0 @ one )
                       => ( ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( ( Y0 @ Y1 )
                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                         => ( !! @ term
                            @ ^ [Y1: term] :
                                ( ( var @ Y1 )
                               => ( Y0 @ Y1 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ term
                                  @ ^ [Y3: term] :
                                      ( ( ( ap @ Y3 @ Y1 )
                                        = ( ap @ Y2 @ Y0 ) )
                                     => ( Y3 = Y2 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y0 @ Y3 )
                                          = ( ap @ Y1 @ Y2 ) )
                                       => ( Y3 = Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( ( lam @ Y1 )
                                    = ( lam @ Y0 ) )
                                 => ( Y1 = Y0 ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( sub @ Y1 @ sh )
                                      = ( sub @ Y0 @ sh ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( ( lam @ Y2 )
                                         != ( ap @ Y1 @ Y0 ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ~ ( var @ ( lam @ Y0 ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( Y0 @ Y2 )
                                                   => ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                           => ( !! @ term @ Y0 ) ) ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( !! @ subst
                                          @ ^ [Y1: subst] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( var @ Y3 )
                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                 => ( ( Y0 @ Y2 )
                                                   => ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ id @ Y0 )
                                                  = Y0 ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( ( comp @ Y0 @ id )
                                                  = Y0 ) )
                                            & ( !! @ subst
                                              @ ^ [Y0: subst] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y2: subst] :
                                                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                         => ( ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( ( sub @ Y0 @ id )
                                                    = Y0 ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                               => ( Y3 = Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                               => ( ( !! @ ( subst > term > term )
                                                    @ ^ [Y0: subst > term > term] :
                                                        ( ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                       => ( !! @ ( subst > term > term )
                                                          @ ^ [Y1: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y4: subst] :
                                                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                             => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                  = ( lam @ ( Y0 @ sh @ one ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ Y3 @ Y2 )
                                                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y3: subst] :
                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                         => ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( lam @ ( Y0 @ sh @ one ) )
                                                                   != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                       => ( !! @ ( subst > term > subst > $o )
                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                              ( !! @ ( term > $o )
                                                              @ ^ [Y1: term > $o] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y5: subst] :
                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y5: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( var @ ( sub @ Y2 @ id ) )
                                                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y1 @ Y2 )
                                                                              = ( Y0 @ id @ Y2 @ id ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( var @ Y2 )
                                                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f567]) ).

thf(f567,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                      = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ Y0 @ id )
                = Y0 ) )
         => ( ( id
              = ( push @ one @ sh ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                    = Y0 ) )
             => ( ( var @ one )
               => ( ( !! @ term
                    @ ^ [Y0: term] :
                        ( ( var @ Y0 )
                       => ( var @ ( sub @ Y0 @ sh ) ) ) )
                 => ( ( !! @ ( term > $o )
                      @ ^ [Y0: term > $o] :
                          ( ( Y0 @ one )
                         => ( ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( ( Y0 @ Y1 )
                                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                           => ( !! @ term
                              @ ^ [Y1: term] :
                                  ( ( var @ Y1 )
                                 => ( Y0 @ Y1 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ term
                                @ ^ [Y2: term] :
                                    ( !! @ term
                                    @ ^ [Y3: term] :
                                        ( ( ( ap @ Y3 @ Y1 )
                                          = ( ap @ Y2 @ Y0 ) )
                                       => ( Y3 = Y2 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y0 @ Y3 )
                                            = ( ap @ Y1 @ Y2 ) )
                                         => ( Y3 = Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( ( lam @ Y1 )
                                      = ( lam @ Y0 ) )
                                   => ( Y1 = Y0 ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( sub @ Y1 @ sh )
                                        = ( sub @ Y0 @ sh ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( ( lam @ Y2 )
                                           != ( ap @ Y1 @ Y0 ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ~ ( var @ ( lam @ Y0 ) ) )
                                 => ( ( !! @ ( term > $o )
                                      @ ^ [Y0: term > $o] :
                                          ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( Y0 @ Y2 )
                                                     => ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( Y0 @ Y1 )
                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                             => ( !! @ term @ Y0 ) ) ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( !! @ subst
                                            @ ^ [Y1: subst] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( !! @ term
                                                      @ ^ [Y3: term] :
                                                          ( ( var @ Y3 )
                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                   => ( ( Y0 @ Y2 )
                                                     => ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ id @ Y0 )
                                                    = Y0 ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( ( comp @ Y0 @ id )
                                                    = Y0 ) )
                                              & ( !! @ subst
                                                @ ^ [Y0: subst] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y2: subst] :
                                                            ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                            = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                           => ( ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( ( sub @ Y0 @ id )
                                                      = Y0 ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                              = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                    = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                 => ( Y3 = Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                      = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                   => ( Y3 = Y0 ) ) ) ) ) )
                                                 => ( ( !! @ ( subst > term > term )
                                                      @ ^ [Y0: subst > term > term] :
                                                          ( ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                         => ( !! @ ( subst > term > term )
                                                            @ ^ [Y1: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y4: subst] :
                                                                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                               => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                    = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ Y3 @ Y2 )
                                                                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y3: subst] :
                                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( lam @ ( Y0 @ sh @ one ) )
                                                                     != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                         => ( !! @ ( subst > term > subst > $o )
                                                            @ ^ [Y0: subst > term > subst > $o] :
                                                                ( !! @ ( term > $o )
                                                                @ ^ [Y1: term > $o] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y5: subst] :
                                                                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y5: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( var @ ( sub @ Y2 @ id ) )
                                                                             => ( Y0 @ id @ Y2 @ id ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( Y1 @ Y2 )
                                                                                = ( Y0 @ id @ Y2 @ id ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( var @ Y2 )
                                                                               => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f562]) ).

thf(f562,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                = Y0 ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                      = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                        = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ Y0 @ id )
                  = Y0 ) )
           => ( ( id
                = ( push @ one @ sh ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                      = Y0 ) )
               => ( ( var @ one )
                 => ( ( !! @ term
                      @ ^ [Y0: term] :
                          ( ( var @ Y0 )
                         => ( var @ ( sub @ Y0 @ sh ) ) ) )
                   => ( ( !! @ ( term > $o )
                        @ ^ [Y0: term > $o] :
                            ( ( Y0 @ one )
                           => ( ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( ( Y0 @ Y1 )
                                     => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                             => ( !! @ term
                                @ ^ [Y1: term] :
                                    ( ( var @ Y1 )
                                   => ( Y0 @ Y1 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( !! @ term
                              @ ^ [Y1: term] :
                                  ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( !! @ term
                                      @ ^ [Y3: term] :
                                          ( ( ( ap @ Y3 @ Y1 )
                                            = ( ap @ Y2 @ Y0 ) )
                                         => ( Y3 = Y2 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y0 @ Y3 )
                                              = ( ap @ Y1 @ Y2 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( ( lam @ Y1 )
                                        = ( lam @ Y0 ) )
                                     => ( Y1 = Y0 ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( sub @ Y1 @ sh )
                                          = ( sub @ Y0 @ sh ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( ( lam @ Y2 )
                                             != ( ap @ Y1 @ Y0 ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ~ ( var @ ( lam @ Y0 ) ) )
                                   => ( ( !! @ ( term > $o )
                                        @ ^ [Y0: term > $o] :
                                            ( ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( var @ Y1 )
                                                 => ( Y0 @ Y1 ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( Y0 @ Y2 )
                                                       => ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( Y0 @ Y1 )
                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                               => ( !! @ term @ Y0 ) ) ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( !! @ subst
                                              @ ^ [Y1: subst] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( !! @ term
                                                        @ ^ [Y3: term] :
                                                            ( ( var @ Y3 )
                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                     => ( ( Y0 @ Y2 )
                                                       => ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ id @ Y0 )
                                                      = Y0 ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( ( comp @ Y0 @ id )
                                                      = Y0 ) )
                                                & ( !! @ subst
                                                  @ ^ [Y0: subst] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y2: subst] :
                                                              ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                              = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                             => ( ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( ( sub @ Y0 @ id )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y0: term] :
                                                        ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                      = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                        = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                     => ( Y3 = Y0 ) ) ) ) ) )
                                                   => ( ( !! @ ( subst > term > term )
                                                        @ ^ [Y0: subst > term > term] :
                                                            ( ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                          = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                           => ( !! @ ( subst > term > term )
                                                              @ ^ [Y1: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y4: subst] :
                                                                                ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                 => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                      = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ Y3 @ Y2 )
                                                                              = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y3: subst] :
                                                                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                             => ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( lam @ ( Y0 @ sh @ one ) )
                                                                       != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                           => ( !! @ ( subst > term > subst > $o )
                                                              @ ^ [Y0: subst > term > subst > $o] :
                                                                  ( !! @ ( term > $o )
                                                                  @ ^ [Y1: term > $o] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y5: subst] :
                                                                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y5: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( var @ ( sub @ Y2 @ id ) )
                                                                               => ( Y0 @ id @ Y2 @ id ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( Y1 @ Y2 )
                                                                                  = ( Y0 @ id @ Y2 @ id ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( var @ Y2 )
                                                                                 => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f553]) ).

thf(f553,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                  = Y0 ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                        = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                          = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ Y0 @ id )
                    = Y0 ) )
             => ( ( id
                  = ( push @ one @ sh ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                        = Y0 ) )
                 => ( ( var @ one )
                   => ( ( !! @ term
                        @ ^ [Y0: term] :
                            ( ( var @ Y0 )
                           => ( var @ ( sub @ Y0 @ sh ) ) ) )
                     => ( ( !! @ ( term > $o )
                          @ ^ [Y0: term > $o] :
                              ( ( Y0 @ one )
                             => ( ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( ( Y0 @ Y1 )
                                       => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                               => ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( ( var @ Y1 )
                                     => ( Y0 @ Y1 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( !! @ term
                                @ ^ [Y1: term] :
                                    ( !! @ term
                                    @ ^ [Y2: term] :
                                        ( !! @ term
                                        @ ^ [Y3: term] :
                                            ( ( ( ap @ Y3 @ Y1 )
                                              = ( ap @ Y2 @ Y0 ) )
                                           => ( Y3 = Y2 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y0 @ Y3 )
                                                = ( ap @ Y1 @ Y2 ) )
                                             => ( Y3 = Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( ( lam @ Y1 )
                                          = ( lam @ Y0 ) )
                                       => ( Y1 = Y0 ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( sub @ Y1 @ sh )
                                            = ( sub @ Y0 @ sh ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( ( lam @ Y2 )
                                               != ( ap @ Y1 @ Y0 ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ~ ( var @ ( lam @ Y0 ) ) )
                                     => ( ( !! @ ( term > $o )
                                          @ ^ [Y0: term > $o] :
                                              ( ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( var @ Y1 )
                                                   => ( Y0 @ Y1 ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( Y0 @ Y2 )
                                                         => ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( Y0 @ Y1 )
                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( !! @ subst
                                                @ ^ [Y1: subst] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( !! @ term
                                                          @ ^ [Y3: term] :
                                                              ( ( var @ Y3 )
                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                       => ( ( Y0 @ Y2 )
                                                         => ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ id @ Y0 )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( ( comp @ Y0 @ id )
                                                        = Y0 ) )
                                                  & ( !! @ subst
                                                    @ ^ [Y0: subst] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y2: subst] :
                                                                ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                               => ( ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( ( sub @ Y0 @ id )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                  = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y0: term] :
                                                          ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                        = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                       => ( Y3 = Y0 ) ) ) ) ) )
                                                     => ( ( !! @ ( subst > term > term )
                                                          @ ^ [Y0: subst > term > term] :
                                                              ( ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                            = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                             => ( !! @ ( subst > term > term )
                                                                @ ^ [Y1: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y4: subst] :
                                                                                  ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                  = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                   => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                        = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ Y3 @ Y2 )
                                                                                = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y3: subst] :
                                                                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                               => ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( lam @ ( Y0 @ sh @ one ) )
                                                                         != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                             => ( !! @ ( subst > term > subst > $o )
                                                                @ ^ [Y0: subst > term > subst > $o] :
                                                                    ( !! @ ( term > $o )
                                                                    @ ^ [Y1: term > $o] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y5: subst] :
                                                                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                       => ( ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y5: subst] :
                                                                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( var @ ( sub @ Y2 @ id ) )
                                                                                 => ( Y0 @ id @ Y2 @ id ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( Y1 @ Y2 )
                                                                                    = ( Y0 @ id @ Y2 @ id ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( var @ Y2 )
                                                                                   => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f546]) ).

thf(f546,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                    = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( ( comp @ id @ Y0 )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                    = Y0 ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                            = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ Y0 @ id )
                      = Y0 ) )
               => ( ( id
                    = ( push @ one @ sh ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                          = Y0 ) )
                   => ( ( var @ one )
                     => ( ( !! @ term
                          @ ^ [Y0: term] :
                              ( ( var @ Y0 )
                             => ( var @ ( sub @ Y0 @ sh ) ) ) )
                       => ( ( !! @ ( term > $o )
                            @ ^ [Y0: term > $o] :
                                ( ( Y0 @ one )
                               => ( ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( ( Y0 @ Y1 )
                                         => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                 => ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( ( var @ Y1 )
                                       => ( Y0 @ Y1 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( !! @ term
                                  @ ^ [Y1: term] :
                                      ( !! @ term
                                      @ ^ [Y2: term] :
                                          ( !! @ term
                                          @ ^ [Y3: term] :
                                              ( ( ( ap @ Y3 @ Y1 )
                                                = ( ap @ Y2 @ Y0 ) )
                                             => ( Y3 = Y2 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y0 @ Y3 )
                                                  = ( ap @ Y1 @ Y2 ) )
                                               => ( Y3 = Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( ( lam @ Y1 )
                                            = ( lam @ Y0 ) )
                                         => ( Y1 = Y0 ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( sub @ Y1 @ sh )
                                              = ( sub @ Y0 @ sh ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( ( lam @ Y2 )
                                                 != ( ap @ Y1 @ Y0 ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ~ ( var @ ( lam @ Y0 ) ) )
                                       => ( ( !! @ ( term > $o )
                                            @ ^ [Y0: term > $o] :
                                                ( ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( ( var @ Y1 )
                                                     => ( Y0 @ Y1 ) ) )
                                               => ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( Y0 @ Y2 )
                                                           => ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( Y0 @ Y1 )
                                                         => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                   => ( !! @ term @ Y0 ) ) ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( !! @ subst
                                                  @ ^ [Y1: subst] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( !! @ term
                                                            @ ^ [Y3: term] :
                                                                ( ( var @ Y3 )
                                                               => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                         => ( ( Y0 @ Y2 )
                                                           => ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ id @ Y0 )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( ( comp @ Y0 @ id )
                                                          = Y0 ) )
                                                    & ( !! @ subst
                                                      @ ^ [Y0: subst] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y2: subst] :
                                                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                 => ( ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( ( sub @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y0: term] :
                                                            ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                          = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                         => ( Y3 = Y0 ) ) ) ) ) )
                                                       => ( ( !! @ ( subst > term > term )
                                                            @ ^ [Y0: subst > term > term] :
                                                                ( ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                              = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                               => ( !! @ ( subst > term > term )
                                                                  @ ^ [Y1: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y4: subst] :
                                                                                    ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                    = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                     => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                          = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ Y3 @ Y2 )
                                                                                  = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y3: subst] :
                                                                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( lam @ ( Y0 @ sh @ one ) )
                                                                           != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                               => ( !! @ ( subst > term > subst > $o )
                                                                  @ ^ [Y0: subst > term > subst > $o] :
                                                                      ( !! @ ( term > $o )
                                                                      @ ^ [Y1: term > $o] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y5: subst] :
                                                                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                         => ( ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y5: subst] :
                                                                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( var @ ( sub @ Y2 @ id ) )
                                                                                   => ( Y0 @ id @ Y2 @ id ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( Y1 @ Y2 )
                                                                                      = ( Y0 @ id @ Y2 @ id ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( var @ Y2 )
                                                                                     => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f541]) ).

thf(f541,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ ( lam @ Y1 ) @ Y0 )
                = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                      = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( ( comp @ id @ Y0 )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                      = Y0 ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                            = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                              = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( ( comp @ Y0 @ id )
                        = Y0 ) )
                 => ( ( id
                      = ( push @ one @ sh ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                            = Y0 ) )
                     => ( ( var @ one )
                       => ( ( !! @ term
                            @ ^ [Y0: term] :
                                ( ( var @ Y0 )
                               => ( var @ ( sub @ Y0 @ sh ) ) ) )
                         => ( ( !! @ ( term > $o )
                              @ ^ [Y0: term > $o] :
                                  ( ( Y0 @ one )
                                 => ( ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( ( Y0 @ Y1 )
                                           => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                   => ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( ( var @ Y1 )
                                         => ( Y0 @ Y1 ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( !! @ term
                                    @ ^ [Y1: term] :
                                        ( !! @ term
                                        @ ^ [Y2: term] :
                                            ( !! @ term
                                            @ ^ [Y3: term] :
                                                ( ( ( ap @ Y3 @ Y1 )
                                                  = ( ap @ Y2 @ Y0 ) )
                                               => ( Y3 = Y2 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y0 @ Y3 )
                                                    = ( ap @ Y1 @ Y2 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( ( lam @ Y1 )
                                              = ( lam @ Y0 ) )
                                           => ( Y1 = Y0 ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( sub @ Y1 @ sh )
                                                = ( sub @ Y0 @ sh ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( ( lam @ Y2 )
                                                   != ( ap @ Y1 @ Y0 ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ~ ( var @ ( lam @ Y0 ) ) )
                                         => ( ( !! @ ( term > $o )
                                              @ ^ [Y0: term > $o] :
                                                  ( ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ( ( var @ Y1 )
                                                       => ( Y0 @ Y1 ) ) )
                                                 => ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( Y0 @ Y2 )
                                                             => ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( Y0 @ Y1 )
                                                           => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                     => ( !! @ term @ Y0 ) ) ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( !! @ subst
                                                    @ ^ [Y1: subst] :
                                                        ( !! @ term
                                                        @ ^ [Y2: term] :
                                                            ( ( !! @ term
                                                              @ ^ [Y3: term] :
                                                                  ( ( var @ Y3 )
                                                                 => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                           => ( ( Y0 @ Y2 )
                                                             => ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ id @ Y0 )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( ( comp @ Y0 @ id )
                                                            = Y0 ) )
                                                      & ( !! @ subst
                                                        @ ^ [Y0: subst] :
                                                            ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y2: subst] :
                                                                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                   => ( ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( ( sub @ Y0 @ id )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                      = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y0: term] :
                                                              ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                            = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                         => ( Y3 = Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                              = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                           => ( Y3 = Y0 ) ) ) ) ) )
                                                         => ( ( !! @ ( subst > term > term )
                                                              @ ^ [Y0: subst > term > term] :
                                                                  ( ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ subst
                                                                        @ ^ [Y2: subst] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                 => ( !! @ ( subst > term > term )
                                                                    @ ^ [Y1: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y4: subst] :
                                                                                      ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                      = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                       => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                            = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ Y3 @ Y2 )
                                                                                    = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y3: subst] :
                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                   => ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( lam @ ( Y0 @ sh @ one ) )
                                                                             != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                     => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y0: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                 => ( !! @ ( subst > term > subst > $o )
                                                                    @ ^ [Y0: subst > term > subst > $o] :
                                                                        ( !! @ ( term > $o )
                                                                        @ ^ [Y1: term > $o] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y5: subst] :
                                                                                              ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                             => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                           => ( ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y5: subst] :
                                                                                                ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                               => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( ( var @ ( sub @ Y2 @ id ) )
                                                                                     => ( Y0 @ id @ Y2 @ id ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( Y1 @ Y2 )
                                                                                        = ( Y0 @ id @ Y2 @ id ) ) )
                                                                                 => ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( var @ Y2 )
                                                                                       => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f534]) ).

thf(f534,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ ( lam @ Y1 ) @ Y0 )
                  = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                        = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( ( comp @ id @ Y0 )
                  = Y0 ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                        = Y0 ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ subst
                      @ ^ [Y1: subst] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                              = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                                = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( ( comp @ Y0 @ id )
                          = Y0 ) )
                   => ( ( id
                        = ( push @ one @ sh ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                              = Y0 ) )
                       => ( ( var @ one )
                         => ( ( !! @ term
                              @ ^ [Y0: term] :
                                  ( ( var @ Y0 )
                                 => ( var @ ( sub @ Y0 @ sh ) ) ) )
                           => ( ( !! @ ( term > $o )
                                @ ^ [Y0: term > $o] :
                                    ( ( Y0 @ one )
                                   => ( ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( ( Y0 @ Y1 )
                                             => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                     => ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( ( var @ Y1 )
                                           => ( Y0 @ Y1 ) ) ) ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( !! @ term
                                      @ ^ [Y1: term] :
                                          ( !! @ term
                                          @ ^ [Y2: term] :
                                              ( !! @ term
                                              @ ^ [Y3: term] :
                                                  ( ( ( ap @ Y3 @ Y1 )
                                                    = ( ap @ Y2 @ Y0 ) )
                                                 => ( Y3 = Y2 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y0 @ Y3 )
                                                      = ( ap @ Y1 @ Y2 ) )
                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( ( lam @ Y1 )
                                                = ( lam @ Y0 ) )
                                             => ( Y1 = Y0 ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( sub @ Y1 @ sh )
                                                  = ( sub @ Y0 @ sh ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( !! @ term
                                                  @ ^ [Y2: term] :
                                                      ( ( lam @ Y2 )
                                                     != ( ap @ Y1 @ Y0 ) ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ~ ( var @ ( lam @ Y0 ) ) )
                                           => ( ( !! @ ( term > $o )
                                                @ ^ [Y0: term > $o] :
                                                    ( ( !! @ term
                                                      @ ^ [Y1: term] :
                                                          ( ( var @ Y1 )
                                                         => ( Y0 @ Y1 ) ) )
                                                   => ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( Y0 @ Y2 )
                                                               => ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( Y0 @ Y1 )
                                                             => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                       => ( !! @ term @ Y0 ) ) ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( !! @ subst
                                                      @ ^ [Y1: subst] :
                                                          ( !! @ term
                                                          @ ^ [Y2: term] :
                                                              ( ( !! @ term
                                                                @ ^ [Y3: term] :
                                                                    ( ( var @ Y3 )
                                                                   => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                             => ( ( Y0 @ Y2 )
                                                               => ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ subst
                                                            @ ^ [Y1: subst] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                   => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( var @ Y1 )
                                                               => ( Y0 @ Y1 ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ term @ Y0 ) ) ) ) )
                                                   => ( ( ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ id @ Y0 )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( ( comp @ Y0 @ id )
                                                              = Y0 ) )
                                                        & ( !! @ subst
                                                          @ ^ [Y0: subst] :
                                                              ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y2: subst] :
                                                                      ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                      = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                     => ( ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( ( sub @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                        = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y0: term] :
                                                                ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                              = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                           => ( Y3 = Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                             => ( Y3 = Y0 ) ) ) ) ) )
                                                           => ( ( !! @ ( subst > term > term )
                                                                @ ^ [Y0: subst > term > term] :
                                                                    ( ( !! @ subst
                                                                      @ ^ [Y1: subst] :
                                                                          ( !! @ subst
                                                                          @ ^ [Y2: subst] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                  = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                   => ( !! @ ( subst > term > term )
                                                                      @ ^ [Y1: subst > term > term] :
                                                                          ( ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y4: subst] :
                                                                                        ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                        = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                         => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                              = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                           => ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ Y3 @ Y2 )
                                                                                      = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y3: subst] :
                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                    = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                     => ( !! @ term
                                                                        @ ^ [Y1: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y2: term] :
                                                                                ( ( lam @ ( Y0 @ sh @ one ) )
                                                                               != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                       => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                 => ( ( !! @ term
                                                                      @ ^ [Y0: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                   => ( !! @ ( subst > term > subst > $o )
                                                                      @ ^ [Y0: subst > term > subst > $o] :
                                                                          ( !! @ ( term > $o )
                                                                          @ ^ [Y1: term > $o] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y5: subst] :
                                                                                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                             => ( ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y5: subst] :
                                                                                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( ( var @ ( sub @ Y2 @ id ) )
                                                                                       => ( Y0 @ id @ Y2 @ id ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( Y1 @ Y2 )
                                                                                          = ( Y0 @ id @ Y2 @ id ) ) )
                                                                                   => ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( var @ Y2 )
                                                                                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f525]) ).

thf(f525,plain,
    ( $false
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                = Y1 ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sub @ Y0 @ id )
              = Y0 ) )
       => ( ( !! @ subst
            @ ^ [Y0: subst] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ( ( sub @ ( lam @ Y1 ) @ Y0 )
                    = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                          = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
           => ( ( !! @ subst
                @ ^ [Y0: subst] :
                    ( ( comp @ id @ Y0 )
                    = Y0 ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                          = Y0 ) ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ subst
                        @ ^ [Y1: subst] :
                            ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ term
                          @ ^ [Y1: term] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                                  = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( ( comp @ Y0 @ id )
                            = Y0 ) )
                     => ( ( id
                          = ( push @ one @ sh ) )
                       => ( ( !! @ subst
                            @ ^ [Y0: subst] :
                                ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                = Y0 ) )
                         => ( ( var @ one )
                           => ( ( !! @ term
                                @ ^ [Y0: term] :
                                    ( ( var @ Y0 )
                                   => ( var @ ( sub @ Y0 @ sh ) ) ) )
                             => ( ( !! @ ( term > $o )
                                  @ ^ [Y0: term > $o] :
                                      ( ( Y0 @ one )
                                     => ( ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( ( Y0 @ Y1 )
                                               => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                       => ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( ( var @ Y1 )
                                             => ( Y0 @ Y1 ) ) ) ) ) )
                               => ( ( !! @ term
                                    @ ^ [Y0: term] :
                                        ( !! @ term
                                        @ ^ [Y1: term] :
                                            ( !! @ term
                                            @ ^ [Y2: term] :
                                                ( !! @ term
                                                @ ^ [Y3: term] :
                                                    ( ( ( ap @ Y3 @ Y1 )
                                                      = ( ap @ Y2 @ Y0 ) )
                                                   => ( Y3 = Y2 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y0 @ Y3 )
                                                        = ( ap @ Y1 @ Y2 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( ( lam @ Y1 )
                                                  = ( lam @ Y0 ) )
                                               => ( Y1 = Y0 ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( sub @ Y1 @ sh )
                                                    = ( sub @ Y0 @ sh ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( !! @ term
                                                    @ ^ [Y2: term] :
                                                        ( ( lam @ Y2 )
                                                       != ( ap @ Y1 @ Y0 ) ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ~ ( var @ ( lam @ Y0 ) ) )
                                             => ( ( !! @ ( term > $o )
                                                  @ ^ [Y0: term > $o] :
                                                      ( ( !! @ term
                                                        @ ^ [Y1: term] :
                                                            ( ( var @ Y1 )
                                                           => ( Y0 @ Y1 ) ) )
                                                     => ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( Y0 @ Y2 )
                                                                 => ( ( Y0 @ Y1 )
                                                                   => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( ( Y0 @ Y1 )
                                                               => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                         => ( !! @ term @ Y0 ) ) ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( !! @ subst
                                                        @ ^ [Y1: subst] :
                                                            ( !! @ term
                                                            @ ^ [Y2: term] :
                                                                ( ( !! @ term
                                                                  @ ^ [Y3: term] :
                                                                      ( ( var @ Y3 )
                                                                     => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                               => ( ( Y0 @ Y2 )
                                                                 => ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y1 )
                                                                   => ( ( Y0 @ Y2 )
                                                                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ subst
                                                              @ ^ [Y1: subst] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y3: term] :
                                                                            ( ( var @ Y3 )
                                                                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( var @ Y1 )
                                                                 => ( Y0 @ Y1 ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( Y0 @ Y1 )
                                                                       => ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                     => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                               => ( !! @ term @ Y0 ) ) ) ) )
                                                     => ( ( ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ id @ Y0 )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( ( comp @ Y0 @ id )
                                                                = Y0 ) )
                                                          & ( !! @ subst
                                                            @ ^ [Y0: subst] :
                                                                ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y2: subst] :
                                                                        ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                        = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                       => ( ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( ( sub @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                          = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y0: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                             => ( Y3 = Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                  = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                               => ( Y3 = Y0 ) ) ) ) ) )
                                                             => ( ( !! @ ( subst > term > term )
                                                                  @ ^ [Y0: subst > term > term] :
                                                                      ( ( !! @ subst
                                                                        @ ^ [Y1: subst] :
                                                                            ( !! @ subst
                                                                            @ ^ [Y2: subst] :
                                                                                ( !! @ term
                                                                                @ ^ [Y3: term] :
                                                                                    ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                    = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                     => ( !! @ ( subst > term > term )
                                                                        @ ^ [Y1: subst > term > term] :
                                                                            ( ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y4: subst] :
                                                                                          ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                          = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                           => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                                = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                             => ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ Y3 @ Y2 )
                                                                                        = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y3: subst] :
                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                      = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                       => ( !! @ term
                                                                          @ ^ [Y1: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y2: term] :
                                                                                  ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                 != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                         => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                   => ( ( !! @ term
                                                                        @ ^ [Y0: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                     => ( !! @ ( subst > term > subst > $o )
                                                                        @ ^ [Y0: subst > term > subst > $o] :
                                                                            ( !! @ ( term > $o )
                                                                            @ ^ [Y1: term > $o] :
                                                                                ( ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ term
                                                                                      @ ^ [Y3: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y4: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y5: subst] :
                                                                                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                               => ( ( !! @ term
                                                                                    @ ^ [Y2: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y3: subst] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y5: subst] :
                                                                                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( ( var @ ( sub @ Y2 @ id ) )
                                                                                         => ( Y0 @ id @ Y2 @ id ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( Y1 @ Y2 )
                                                                                            = ( Y0 @ id @ Y2 @ id ) ) )
                                                                                     => ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( var @ Y2 )
                                                                                           => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f524]) ).

thf(f524,plain,
    ( $true
   != ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y1 @ Y2 ) @ Y0 )
                    = ( ap @ ( sub @ Y1 @ Y0 ) @ ( sub @ Y2 @ Y0 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                            = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                                    = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y1 )
                                                        = ( ap @ Y2 @ Y0 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y3 )
                                                          = ( ap @ Y1 @ Y2 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y2 )
                                                         != ( ap @ Y1 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term @ Y0 ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term @ Y0 ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                                                                                  = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                                                                               => ( Y3 = Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                                                                                    = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                             => ( ( ( lam @ ( Y1 @ sh @ one ) )
                                                                                  = ( lam @ ( Y0 @ sh @ one ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ Y3 @ Y2 )
                                                                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( lam @ ( Y0 @ sh @ one ) )
                                                                                   != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( !! @ ( term > $o )
                                                                              @ ^ [Y1: term > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y5: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y5: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( var @ ( sub @ Y2 @ id ) )
                                                                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                                                                     => ( ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( Y1 @ Y2 )
                                                                                              = ( Y0 @ id @ Y2 @ id ) ) )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( var @ Y2 )
                                                                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(beta_eta_normalization,[],[f523]) ).

thf(f523,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y1 @ Y2 ) @ Y0 )
                    = ( ap @ ( sub @ Y1 @ Y0 ) @ ( sub @ Y2 @ Y0 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                            = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                                    = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y1 )
                                                        = ( ap @ Y2 @ Y0 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y3 )
                                                          = ( ap @ Y1 @ Y2 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y2 )
                                                         != ( ap @ Y1 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y2
                                                                                    @ id
                                                                                    @ Y1 )
                                                                                  = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y3
                                                                                    @ id
                                                                                    @ Y0 ) )
                                                                               => ( Y3 = Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y3 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                             => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                  = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ Y3 @ Y2 )
                                                                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) )
                                                                                   != ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                           => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                @ id
                                                                                @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                  @ id
                                                                                  @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                @ id ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                    @ id
                                                                                    @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                      @ id
                                                                                      @ Y0
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                    @ id ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( !! @ ( term > $o )
                                                                              @ ^ [Y1: term > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y5: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y5: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( ^ [Y3: subst,Y4: term,Y5: subst] : ( var @ ( sub @ Y4 @ Y5 ) )
                                                                                              @ id
                                                                                              @ Y2
                                                                                              @ id )
                                                                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                                                                     => ( ( ^ [Y2: subst > term > subst > $o,Y3: term > $o] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y3 @ Y4 )
                                                                                                  = ( Y2 @ id @ Y4 @ id ) ) )
                                                                                          @ Y0
                                                                                          @ Y1 )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( var @ Y2 )
                                                                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
   != $true ),
    inference(definition_unfolding,[],[f348,f457]) ).

thf(f457,plain,
    ( hoasinduction_lem1v2_gthm
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( ap @ Y1 @ Y2 ) @ Y0 )
                    = ( ap @ ( sub @ Y1 @ Y0 ) @ ( sub @ Y2 @ Y0 ) ) ) ) ) )
     => ( ( !! @ subst
          @ ^ [Y0: subst] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
                  = Y1 ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sub @ Y0 @ id )
                = Y0 ) )
         => ( ( !! @ subst
              @ ^ [Y0: subst] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( sub @ ( lam @ Y1 ) @ Y0 )
                      = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ subst
                    @ ^ [Y1: subst] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                            = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) )
             => ( ( !! @ subst
                  @ ^ [Y0: subst] :
                      ( ( comp @ id @ Y0 )
                      = Y0 ) )
               => ( ( !! @ subst
                    @ ^ [Y0: subst] :
                        ( !! @ term
                        @ ^ [Y1: term] :
                            ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
                            = Y0 ) ) )
                 => ( ( !! @ subst
                      @ ^ [Y0: subst] :
                          ( !! @ subst
                          @ ^ [Y1: subst] :
                              ( !! @ subst
                              @ ^ [Y2: subst] :
                                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) )
                   => ( ( !! @ subst
                        @ ^ [Y0: subst] :
                            ( !! @ term
                            @ ^ [Y1: term] :
                                ( !! @ subst
                                @ ^ [Y2: subst] :
                                    ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                                    = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) )
                     => ( ( !! @ subst
                          @ ^ [Y0: subst] :
                              ( ( comp @ Y0 @ id )
                              = Y0 ) )
                       => ( ( id
                            = ( push @ one @ sh ) )
                         => ( ( !! @ subst
                              @ ^ [Y0: subst] :
                                  ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
                                  = Y0 ) )
                           => ( ( var @ one )
                             => ( ( !! @ term
                                  @ ^ [Y0: term] :
                                      ( ( var @ Y0 )
                                     => ( var @ ( sub @ Y0 @ sh ) ) ) )
                               => ( ( !! @ ( term > $o )
                                    @ ^ [Y0: term > $o] :
                                        ( ( Y0 @ one )
                                       => ( ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( ( Y0 @ Y1 )
                                                 => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
                                         => ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( ( var @ Y1 )
                                               => ( Y0 @ Y1 ) ) ) ) ) )
                                 => ( ( !! @ term
                                      @ ^ [Y0: term] :
                                          ( !! @ term
                                          @ ^ [Y1: term] :
                                              ( !! @ term
                                              @ ^ [Y2: term] :
                                                  ( !! @ term
                                                  @ ^ [Y3: term] :
                                                      ( ( ( ap @ Y3 @ Y1 )
                                                        = ( ap @ Y2 @ Y0 ) )
                                                     => ( Y3 = Y2 ) ) ) ) ) )
                                   => ( ( !! @ term
                                        @ ^ [Y0: term] :
                                            ( !! @ term
                                            @ ^ [Y1: term] :
                                                ( !! @ term
                                                @ ^ [Y2: term] :
                                                    ( !! @ term
                                                    @ ^ [Y3: term] :
                                                        ( ( ( ap @ Y0 @ Y3 )
                                                          = ( ap @ Y1 @ Y2 ) )
                                                       => ( Y3 = Y2 ) ) ) ) ) )
                                     => ( ( !! @ term
                                          @ ^ [Y0: term] :
                                              ( !! @ term
                                              @ ^ [Y1: term] :
                                                  ( ( ( lam @ Y1 )
                                                    = ( lam @ Y0 ) )
                                                 => ( Y1 = Y0 ) ) ) )
                                       => ( ( !! @ term
                                            @ ^ [Y0: term] :
                                                ( !! @ term
                                                @ ^ [Y1: term] :
                                                    ( ( ( sub @ Y1 @ sh )
                                                      = ( sub @ Y0 @ sh ) )
                                                   => ( Y1 = Y0 ) ) ) )
                                         => ( ( !! @ term
                                              @ ^ [Y0: term] :
                                                  ( !! @ term
                                                  @ ^ [Y1: term] :
                                                      ( !! @ term
                                                      @ ^ [Y2: term] :
                                                          ( ( lam @ Y2 )
                                                         != ( ap @ Y1 @ Y0 ) ) ) ) )
                                           => ( ( !! @ term
                                                @ ^ [Y0: term] :
                                                    ( !! @ term
                                                    @ ^ [Y1: term] :
                                                        ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) )
                                             => ( ( !! @ term
                                                  @ ^ [Y0: term] :
                                                      ~ ( var @ ( lam @ Y0 ) ) )
                                               => ( ( !! @ ( term > $o )
                                                    @ ^ [Y0: term > $o] :
                                                        ( ( !! @ term
                                                          @ ^ [Y1: term] :
                                                              ( ( var @ Y1 )
                                                             => ( Y0 @ Y1 ) ) )
                                                       => ( ( !! @ term
                                                            @ ^ [Y1: term] :
                                                                ( !! @ term
                                                                @ ^ [Y2: term] :
                                                                    ( ( Y0 @ Y2 )
                                                                   => ( ( Y0 @ Y1 )
                                                                     => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
                                                         => ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( ( Y0 @ Y1 )
                                                                 => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                           => ( !! @ term
                                                              @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                 => ( ( !! @ ( term > $o )
                                                      @ ^ [Y0: term > $o] :
                                                          ( !! @ subst
                                                          @ ^ [Y1: subst] :
                                                              ( !! @ term
                                                              @ ^ [Y2: term] :
                                                                  ( ( !! @ term
                                                                    @ ^ [Y3: term] :
                                                                        ( ( var @ Y3 )
                                                                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                 => ( ( Y0 @ Y2 )
                                                                   => ( !! @ term
                                                                      @ ^ [Y3: term] :
                                                                          ( ( var @ Y3 )
                                                                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) )
                                                   => ( ( !! @ ( term > $o )
                                                        @ ^ [Y0: term > $o] :
                                                            ( ( !! @ term
                                                              @ ^ [Y1: term] :
                                                                  ( !! @ term
                                                                  @ ^ [Y2: term] :
                                                                      ( ( Y0 @ Y1 )
                                                                     => ( ( Y0 @ Y2 )
                                                                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y2 )
                                                                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                   => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                             => ( !! @ subst
                                                                @ ^ [Y1: subst] :
                                                                    ( !! @ term
                                                                    @ ^ [Y2: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y3: term] :
                                                                              ( ( var @ Y3 )
                                                                             => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                                                                       => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) )
                                                     => ( ( !! @ ( term > $o )
                                                          @ ^ [Y0: term > $o] :
                                                              ( ( !! @ term
                                                                @ ^ [Y1: term] :
                                                                    ( ( var @ Y1 )
                                                                   => ( Y0 @ Y1 ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y1: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y2: term] :
                                                                          ( ( Y0 @ Y1 )
                                                                         => ( ( Y0 @ Y2 )
                                                                           => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
                                                               => ( ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( ( Y0 @ Y2 )
                                                                             => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                                                                       => ( Y0 @ ( lam @ Y1 ) ) ) )
                                                                 => ( !! @ term
                                                                    @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) )
                                                       => ( ( ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ id @ Y0 )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( ( comp @ Y0 @ id )
                                                                  = Y0 ) )
                                                            & ( !! @ subst
                                                              @ ^ [Y0: subst] :
                                                                  ( !! @ subst
                                                                  @ ^ [Y1: subst] :
                                                                      ( !! @ subst
                                                                      @ ^ [Y2: subst] :
                                                                          ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                                                                          = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) )
                                                         => ( ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( ( sub @ Y0 @ id )
                                                                    = Y0 ) )
                                                              & ( !! @ subst
                                                                @ ^ [Y0: subst] :
                                                                    ( !! @ subst
                                                                    @ ^ [Y1: subst] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                                                                            = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) )
                                                           => ( ( !! @ term
                                                                @ ^ [Y0: term] :
                                                                    ( !! @ term
                                                                    @ ^ [Y1: term] :
                                                                        ( !! @ term
                                                                        @ ^ [Y2: term] :
                                                                            ( !! @ term
                                                                            @ ^ [Y3: term] :
                                                                                ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y2
                                                                                    @ id
                                                                                    @ Y1 )
                                                                                  = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                    @ id
                                                                                    @ Y3
                                                                                    @ id
                                                                                    @ Y0 ) )
                                                                               => ( Y3 = Y2 ) ) ) ) ) )
                                                             => ( ( !! @ term
                                                                  @ ^ [Y0: term] :
                                                                      ( !! @ term
                                                                      @ ^ [Y1: term] :
                                                                          ( !! @ term
                                                                          @ ^ [Y2: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y3: term] :
                                                                                  ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y3 )
                                                                                    = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                                                                                      @ id
                                                                                      @ Y1
                                                                                      @ id
                                                                                      @ Y0 ) )
                                                                                 => ( Y3 = Y0 ) ) ) ) ) )
                                                               => ( ( !! @ ( subst > term > term )
                                                                    @ ^ [Y0: subst > term > term] :
                                                                        ( ( !! @ subst
                                                                          @ ^ [Y1: subst] :
                                                                              ( !! @ subst
                                                                              @ ^ [Y2: subst] :
                                                                                  ( !! @ term
                                                                                  @ ^ [Y3: term] :
                                                                                      ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                                                                                      = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
                                                                       => ( !! @ ( subst > term > term )
                                                                          @ ^ [Y1: subst > term > term] :
                                                                              ( ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ term
                                                                                    @ ^ [Y3: term] :
                                                                                        ( !! @ subst
                                                                                        @ ^ [Y4: subst] :
                                                                                            ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                                                                            = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                                                                             => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                                                                                  = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                                                                                    @ id
                                                                                    @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) ) )
                                                                               => ( !! @ term
                                                                                  @ ^ [Y2: term] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ Y3 @ Y2 )
                                                                                          = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
                                                                 => ( ( !! @ ( subst > term > term )
                                                                      @ ^ [Y0: subst > term > term] :
                                                                          ( ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ subst
                                                                                @ ^ [Y2: subst] :
                                                                                    ( !! @ subst
                                                                                    @ ^ [Y3: subst] :
                                                                                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                         => ( !! @ term
                                                                            @ ^ [Y1: term] :
                                                                                ( !! @ term
                                                                                @ ^ [Y2: term] :
                                                                                    ( ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                                                                                      @ id
                                                                                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) )
                                                                                   != ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                                                                                      @ id
                                                                                      @ Y2
                                                                                      @ id
                                                                                      @ Y1 ) ) ) ) ) )
                                                                   => ( ( !! @ ( subst > term > term )
                                                                        @ ^ [Y0: subst > term > term] :
                                                                            ( ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ( !! @ subst
                                                                                  @ ^ [Y2: subst] :
                                                                                      ( !! @ subst
                                                                                      @ ^ [Y3: subst] :
                                                                                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                                                                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                                                                           => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
                                                                                @ id
                                                                                @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                                                                                  @ id
                                                                                  @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
                                                                                @ id ) ) )
                                                                     => ( ( !! @ term
                                                                          @ ^ [Y0: term] :
                                                                              ( !! @ term
                                                                              @ ^ [Y1: term] :
                                                                                  ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                                                                                    @ id
                                                                                    @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                                                                                      @ id
                                                                                      @ Y0
                                                                                      @ id
                                                                                      @ Y1 )
                                                                                    @ id ) ) )
                                                                       => ( !! @ ( subst > term > subst > $o )
                                                                          @ ^ [Y0: subst > term > subst > $o] :
                                                                              ( !! @ ( term > $o )
                                                                              @ ^ [Y1: term > $o] :
                                                                                  ( ( !! @ subst
                                                                                    @ ^ [Y2: subst] :
                                                                                        ( !! @ term
                                                                                        @ ^ [Y3: term] :
                                                                                            ( !! @ subst
                                                                                            @ ^ [Y4: subst] :
                                                                                                ( !! @ subst
                                                                                                @ ^ [Y5: subst] :
                                                                                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                                                                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                                                                                 => ( ( !! @ term
                                                                                      @ ^ [Y2: term] :
                                                                                          ( !! @ subst
                                                                                          @ ^ [Y3: subst] :
                                                                                              ( !! @ subst
                                                                                              @ ^ [Y4: subst] :
                                                                                                  ( !! @ subst
                                                                                                  @ ^ [Y5: subst] :
                                                                                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                                                                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                                                                                   => ( ( !! @ term
                                                                                        @ ^ [Y2: term] :
                                                                                            ( ( ^ [Y3: subst,Y4: term,Y5: subst] : ( var @ ( sub @ Y4 @ Y5 ) )
                                                                                              @ id
                                                                                              @ Y2
                                                                                              @ id )
                                                                                           => ( Y0 @ id @ Y2 @ id ) ) )
                                                                                     => ( ( ^ [Y2: subst > term > subst > $o,Y3: term > $o] :
                                                                                              ( !! @ term
                                                                                              @ ^ [Y4: term] :
                                                                                                  ( ( Y3 @ Y4 )
                                                                                                  = ( Y2 @ id @ Y4 @ id ) ) )
                                                                                          @ Y0
                                                                                          @ Y1 )
                                                                                       => ( !! @ term
                                                                                          @ ^ [Y2: term] :
                                                                                              ( ( var @ Y2 )
                                                                                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f344,f407,f333,f347,f390,f388,f422,f369,f336,f357,f426,f429,f334,f402,f440,f421,f383,f353,f424,f405,f380,f387,f359,f343,f442,f417,f438,f410,f356,f451,f452,f453,f454,f455,f456,f450]) ).

thf(f450,plain,
    ( hoasinduction_lem1v2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( !! @ subst
                            @ ^ [Y5: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( ^ [Y3: subst,Y4: term,Y5: subst] : ( var @ ( sub @ Y4 @ Y5 ) )
                          @ id
                          @ Y2
                          @ id )
                       => ( Y0 @ id @ Y2 @ id ) ) )
                 => ( ( ^ [Y2: subst > term > subst > $o,Y3: term > $o] :
                          ( !! @ term
                          @ ^ [Y4: term] :
                              ( ( Y3 @ Y4 )
                              = ( Y2 @ id @ Y4 @ id ) ) )
                      @ Y0
                      @ Y1 )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ Y2 )
                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f443,f363,f382]) ).

thf(f382,plain,
    ( hoasinduction_p_and_p_prime
    = ( ^ [Y0: subst > term > subst > $o,Y1: term > $o] :
          ( !! @ term
          @ ^ [Y2: term] :
              ( ( Y1 @ Y2 )
              = ( Y0 @ id @ Y2 @ id ) ) ) ) ),
    inference(cnf_transformation,[],[f275]) ).

thf(f275,plain,
    ( hoasinduction_p_and_p_prime
    = ( ^ [Y0: subst > term > subst > $o,Y1: term > $o] :
          ( !! @ term
          @ ^ [Y2: term] :
              ( ( Y1 @ Y2 )
              = ( Y0 @ id @ Y2 @ id ) ) ) ) ),
    inference(fool_elimination,[],[f274]) ).

thf(f274,plain,
    ( ( ^ [X0: subst > term > subst > $o,X1: term > $o] :
        ! [X2: term] :
          ( ( X1 @ X2 )
        <=> ( X0 @ id @ X2 @ id ) ) )
    = hoasinduction_p_and_p_prime ),
    inference(rectify,[],[f76]) ).

thf(f76,axiom,
    ( ( ^ [X5: subst > term > subst > $o,X8: term > $o] :
        ! [X9: term] :
          ( ( X8 @ X9 )
        <=> ( X5 @ id @ X9 @ id ) ) )
    = hoasinduction_p_and_p_prime ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasinduction_p_and_p_prime) ).

thf(f363,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(cnf_transformation,[],[f247]) ).

thf(f247,plain,
    ( hoasvar
    = ( ^ [Y0: subst,Y1: term,Y2: subst] : ( var @ ( sub @ Y1 @ Y2 ) ) ) ),
    inference(fool_elimination,[],[f246]) ).

thf(f246,plain,
    ( ( ^ [X0: subst,X1: term,X2: subst] : ( var @ ( sub @ X1 @ X2 ) ) )
    = hoasvar ),
    inference(rectify,[],[f57]) ).

thf(f57,axiom,
    ( ( ^ [X2: subst,X0: term,X3: subst] : ( var @ ( sub @ X0 @ X3 ) ) )
    = hoasvar ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasvar) ).

thf(f443,plain,
    ( hoasinduction_lem1v2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( !! @ subst
                            @ ^ [Y5: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( hoasvar @ id @ Y2 @ id )
                       => ( Y0 @ id @ Y2 @ id ) ) )
                 => ( ( hoasinduction_p_and_p_prime @ Y0 @ Y1 )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ Y2 )
                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f235]) ).

thf(f235,plain,
    ( hoasinduction_lem1v2
    = ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( !! @ subst
                            @ ^ [Y5: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( hoasvar @ id @ Y2 @ id )
                       => ( Y0 @ id @ Y2 @ id ) ) )
                 => ( ( hoasinduction_p_and_p_prime @ Y0 @ Y1 )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ Y2 )
                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f234]) ).

thf(f234,plain,
    ( hoasinduction_lem1v2
    = ( ! [X0: term > $o,X1: subst > term > subst > $o] :
          ( ! [X2: subst,X3: subst,X4: term,X5: subst] :
              ( ( X1 @ X3 @ X4 @ ( comp @ X5 @ X2 ) )
             => ( X1 @ ( comp @ X3 @ X5 ) @ ( sub @ X4 @ X5 ) @ X2 ) )
         => ( ! [X6: subst,X7: subst,X8: subst,X9: term] :
                ( ( X1 @ ( comp @ X8 @ X7 ) @ ( sub @ X9 @ X7 ) @ X6 )
               => ( X1 @ X8 @ X9 @ ( comp @ X7 @ X6 ) ) )
           => ( ! [X10: term] :
                  ( ( hoasvar @ id @ X10 @ id )
                 => ( X1 @ id @ X10 @ id ) )
             => ( ( hoasinduction_p_and_p_prime @ X1 @ X0 )
               => ! [X11: term] :
                    ( ( var @ X11 )
                   => ( X0 @ X11 ) ) ) ) ) ) ) ),
    inference(rectify,[],[f79]) ).

thf(f79,axiom,
    ( hoasinduction_lem1v2
    = ( ! [X8: term > $o,X5: subst > term > subst > $o] :
          ( ! [X3: subst,X2: subst,X0: term,X4: subst] :
              ( ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) )
             => ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 ) )
         => ( ! [X3: subst,X4: subst,X2: subst,X0: term] :
                ( ( X5 @ ( comp @ X2 @ X4 ) @ ( sub @ X0 @ X4 ) @ X3 )
               => ( X5 @ X2 @ X0 @ ( comp @ X4 @ X3 ) ) )
           => ( ! [X0: term] :
                  ( ( hoasvar @ id @ X0 @ id )
                 => ( X5 @ id @ X0 @ id ) )
             => ( ( hoasinduction_p_and_p_prime @ X5 @ X8 )
               => ! [X0: term] :
                    ( ( var @ X0 )
                   => ( X8 @ X0 ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasinduction_lem1v2) ).

thf(f456,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( ^ [Y2: subst,Y3: term,Y4: subst] : ( var @ ( sub @ Y3 @ Y4 ) )
                @ id
                @ ( ^ [Y2: subst,Y3: term,Y4: subst,Y5: term] : ( ap @ ( sub @ Y3 @ Y4 ) @ Y5 )
                  @ id
                  @ Y0
                  @ id
                  @ Y1 )
                @ id ) ) ) ),
    inference(definition_unfolding,[],[f419,f363,f355]) ).

thf(f355,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(cnf_transformation,[],[f313]) ).

thf(f313,plain,
    ( hoasap
    = ( ^ [Y0: subst,Y1: term,Y2: subst,Y3: term] : ( ap @ ( sub @ Y1 @ Y2 ) @ Y3 ) ) ),
    inference(fool_elimination,[],[f312]) ).

thf(f312,plain,
    ( ( ^ [X0: subst,X1: term,X2: subst,X3: term] : ( ap @ ( sub @ X1 @ X2 ) @ X3 ) )
    = hoasap ),
    inference(rectify,[],[f55]) ).

thf(f55,axiom,
    ( ( ^ [X2: subst,X0: term,X3: subst,X1: term] : ( ap @ ( sub @ X0 @ X3 ) @ X1 ) )
    = hoasap ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasap) ).

thf(f419,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(cnf_transformation,[],[f173]) ).

thf(f173,plain,
    ( hoasapnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( hoasvar @ id @ ( hoasap @ id @ Y0 @ id @ Y1 ) @ id ) ) ) ),
    inference(fool_elimination,[],[f172]) ).

thf(f172,plain,
    ( hoasapnotvar
    = ( ! [X0: term,X1: term] :
          ~ ( hoasvar @ id @ ( hoasap @ id @ X1 @ id @ X0 ) @ id ) ) ),
    inference(rectify,[],[f73]) ).

thf(f73,axiom,
    ( hoasapnotvar
    = ( ! [X1: term,X0: term] :
          ~ ( hoasvar @ id @ ( hoasap @ id @ X0 @ id @ X1 ) @ id ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasapnotvar) ).

thf(f455,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ~ ( ^ [Y1: subst,Y2: term,Y3: subst] : ( var @ ( sub @ Y2 @ Y3 ) )
              @ id
              @ ( ^ [Y1: subst,Y2: subst > term > term] : ( lam @ ( Y2 @ sh @ one ) )
                @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(definition_unfolding,[],[f393,f363,f389]) ).

thf(f389,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(cnf_transformation,[],[f283]) ).

thf(f283,plain,
    ( hoaslam
    = ( ^ [Y0: subst,Y1: subst > term > term] : ( lam @ ( Y1 @ sh @ one ) ) ) ),
    inference(fool_elimination,[],[f282]) ).

thf(f282,plain,
    ( ( ^ [X0: subst,X1: subst > term > term] : ( lam @ ( X1 @ sh @ one ) ) )
    = hoaslam ),
    inference(rectify,[],[f56]) ).

thf(f56,axiom,
    ( ( ^ [X2: subst,X10: subst > term > term] : ( lam @ ( X10 @ sh @ one ) ) )
    = hoaslam ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoaslam) ).

thf(f393,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(cnf_transformation,[],[f134]) ).

thf(f134,plain,
    ( hoaslamnotvar
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [Y1: subst,Y2: term] : ( Y0 @ Y1 @ Y2 ) )
              @ id ) ) ) ),
    inference(fool_elimination,[],[f133]) ).

thf(f133,plain,
    ( hoaslamnotvar
    = ( ! [X0: subst > term > term] :
          ( ! [X1: subst,X2: subst,X3: term] :
              ( ( X0 @ ( comp @ X1 @ X2 ) @ ( sub @ X3 @ X2 ) )
              = ( sub @ ( X0 @ X1 @ X3 ) @ X2 ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [X4: subst,X5: term] : ( X0 @ X4 @ X5 ) )
              @ id ) ) ) ),
    inference(rectify,[],[f70]) ).

thf(f70,axiom,
    ( hoaslamnotvar
    = ( ! [X10: subst > term > term] :
          ( ! [X2: subst,X3: subst,X0: term] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ~ ( hoasvar @ id
              @ ( hoaslam @ id
                @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) )
              @ id ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoaslamnotvar) ).

thf(f454,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( ^ [Y3: subst,Y4: subst > term > term] : ( lam @ ( Y4 @ sh @ one ) )
                      @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) )
                   != ( ^ [Y3: subst,Y4: term,Y5: subst,Y6: term] : ( ap @ ( sub @ Y4 @ Y5 ) @ Y6 )
                      @ id
                      @ Y2
                      @ id
                      @ Y1 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f384,f389,f355]) ).

thf(f384,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) )
                   != ( hoasap @ id @ Y2 @ id @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f241]) ).

thf(f241,plain,
    ( hoaslamnotap
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                        = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
         => ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( hoaslam @ id
                      @ ^ [Y3: subst,Y4: term] : ( Y0 @ Y3 @ Y4 ) )
                   != ( hoasap @ id @ Y2 @ id @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f240]) ).

thf(f240,plain,
    ! [X0: subst > term > term] :
      ( ( ! [X1: subst,X2: subst,X3: term] :
            ( ( X0 @ ( comp @ X1 @ X2 ) @ ( sub @ X3 @ X2 ) )
            = ( sub @ ( X0 @ X1 @ X3 ) @ X2 ) )
       => ! [X4: term,X5: term] :
            ( ( hoaslam @ id
              @ ^ [X6: subst,X7: term] : ( X0 @ X6 @ X7 ) )
           != ( hoasap @ id @ X4 @ id @ X5 ) ) )
      = hoaslamnotap ),
    inference(rectify,[],[f67]) ).

thf(f67,axiom,
    ! [X10: subst > term > term] :
      ( ( ! [X2: subst,X3: subst,X0: term] :
            ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
            = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
       => ! [X0: term,X1: term] :
            ( ( hoaslam @ id
              @ ^ [X2: subst,X6: term] : ( X10 @ X2 @ X6 ) )
           != ( hoasap @ id @ X0 @ id @ X1 ) ) )
      = hoaslamnotap ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoaslamnotap) ).

thf(f453,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
               => ( ( ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                    = ( ^ [Y2: subst,Y3: subst > term > term] : ( lam @ ( Y3 @ sh @ one ) )
                      @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ Y3 @ Y2 )
                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f395,f389,f389]) ).

thf(f395,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ Y3 @ Y2 )
                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f289]) ).

thf(f289,plain,
    ( hoaslaminj
    = ( !! @ ( subst > term > term )
      @ ^ [Y0: subst > term > term] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                        = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
         => ( !! @ ( subst > term > term )
            @ ^ [Y1: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                              = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
               => ( ( ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y1 @ Y2 @ Y3 ) )
                    = ( hoaslam @ id
                      @ ^ [Y2: subst,Y3: term] : ( Y0 @ Y2 @ Y3 ) ) )
                 => ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ Y3 @ Y2 )
                            = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f288]) ).

thf(f288,plain,
    ( hoaslaminj
    = ( ! [X0: subst > term > term] :
          ( ! [X1: term,X2: subst,X3: subst] :
              ( ( sub @ ( X0 @ X3 @ X1 ) @ X2 )
              = ( X0 @ ( comp @ X3 @ X2 ) @ ( sub @ X1 @ X2 ) ) )
         => ! [X4: subst > term > term] :
              ( ! [X5: subst,X6: term,X7: subst] :
                  ( ( X4 @ ( comp @ X5 @ X7 ) @ ( sub @ X6 @ X7 ) )
                  = ( sub @ ( X4 @ X5 @ X6 ) @ X7 ) )
             => ( ( ( hoaslam @ id
                    @ ^ [X8: subst,X9: term] : ( X4 @ X8 @ X9 ) )
                  = ( hoaslam @ id
                    @ ^ [X10: subst,X11: term] : ( X0 @ X10 @ X11 ) ) )
               => ! [X12: subst,X13: term] :
                    ( ( X0 @ X12 @ X13 )
                    = ( X4 @ X12 @ X13 ) ) ) ) ) ) ),
    inference(rectify,[],[f64]) ).

thf(f64,axiom,
    ( hoaslaminj
    = ( ! [X10: subst > term > term] :
          ( ! [X0: term,X3: subst,X2: subst] :
              ( ( sub @ ( X10 @ X2 @ X0 ) @ X3 )
              = ( X10 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
         => ! [X11: subst > term > term] :
              ( ! [X2: subst,X0: term,X3: subst] :
                  ( ( sub @ ( X11 @ X2 @ X0 ) @ X3 )
                  = ( X11 @ ( comp @ X2 @ X3 ) @ ( sub @ X0 @ X3 ) ) )
             => ( ( ( hoaslam @ id
                    @ ^ [X2: subst,X0: term] : ( X11 @ X2 @ X0 ) )
                  = ( hoaslam @ id
                    @ ^ [X2: subst,X0: term] : ( X10 @ X2 @ X0 ) ) )
               => ! [X2: subst,X0: term] :
                    ( ( X10 @ X2 @ X0 )
                    = ( X11 @ X2 @ X0 ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoaslaminj) ).

thf(f452,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y2
                          @ id
                          @ Y3 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y1
                          @ id
                          @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f434,f355,f355]) ).

thf(f434,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y1 @ id @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f169]) ).

thf(f169,plain,
    ( hoasapinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y3 )
                        = ( hoasap @ id @ Y1 @ id @ Y0 ) )
                     => ( Y3 = Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f168]) ).

thf(f168,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( hoasap @ id @ X1 @ id @ X0 )
          = ( hoasap @ id @ X2 @ id @ X3 ) )
       => ( X0 = X3 ) )
      = hoasapinj2 ),
    inference(rectify,[],[f61]) ).

thf(f61,axiom,
    ! [X7: term,X1: term,X0: term,X6: term] :
      ( ( ( ( hoasap @ id @ X0 @ id @ X6 )
          = ( hoasap @ id @ X1 @ id @ X7 ) )
       => ( X6 = X7 ) )
      = hoasapinj2 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasapinj2) ).

thf(f451,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y2
                          @ id
                          @ Y1 )
                        = ( ^ [Y4: subst,Y5: term,Y6: subst,Y7: term] : ( ap @ ( sub @ Y5 @ Y6 ) @ Y7 )
                          @ id
                          @ Y3
                          @ id
                          @ Y0 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(definition_unfolding,[],[f367,f355,f355]) ).

thf(f367,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y1 )
                        = ( hoasap @ id @ Y3 @ id @ Y0 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f154]) ).

thf(f154,plain,
    ( hoasapinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( hoasap @ id @ Y2 @ id @ Y1 )
                        = ( hoasap @ id @ Y3 @ id @ Y0 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f153]) ).

thf(f153,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( hoasap @ id @ X1 @ id @ X2 )
          = ( hoasap @ id @ X0 @ id @ X3 ) )
       => ( X0 = X1 ) )
      = hoasapinj1 ),
    inference(rectify,[],[f58]) ).

thf(f58,axiom,
    ! [X1: term,X0: term,X6: term,X7: term] :
      ( ( ( ( hoasap @ id @ X0 @ id @ X6 )
          = ( hoasap @ id @ X1 @ id @ X7 ) )
       => ( X0 = X1 ) )
      = hoasapinj1 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasapinj1) ).

thf(f356,plain,
    ( termmset
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f185]) ).

thf(f185,plain,
    ( termmset
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sub @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( sub @ ( sub @ Y2 @ Y1 ) @ Y0 )
                    = ( sub @ Y2 @ ( comp @ Y1 @ Y0 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f184]) ).

thf(f184,plain,
    ( ! [X0: term,X1: subst,X2: subst] :
        ( ( sub @ ( sub @ X0 @ X1 ) @ X2 )
        = ( sub @ X0 @ ( comp @ X1 @ X2 ) ) )
    & ! [X3: term] :
        ( ( ( sub @ X3 @ id )
          = X3 )
        = termmset ) ),
    inference(rectify,[],[f52]) ).

thf(f52,axiom,
    ( ! [X0: term,X2: subst,X3: subst] :
        ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
        = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) )
    & ! [X0: term] :
        ( ( ( sub @ X0 @ id )
          = X0 )
        = termmset ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',termmset) ).

thf(f410,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f150]) ).

thf(f150,plain,
    ( substmonoid
    = ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ id @ Y0 )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( ( comp @ Y0 @ id )
            = Y0 ) )
      & ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                    = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f149]) ).

thf(f149,plain,
    ( ( substmonoid
      = ( ! [X0: subst,X1: subst,X2: subst] :
            ( ( comp @ ( comp @ X1 @ X0 ) @ X2 )
            = ( comp @ X1 @ ( comp @ X0 @ X2 ) ) ) ) )
    & ! [X3: subst] :
        ( ( comp @ X3 @ id )
        = X3 )
    & ! [X4: subst] :
        ( ( comp @ id @ X4 )
        = X4 ) ),
    inference(rectify,[],[f49]) ).

thf(f49,axiom,
    ( ( substmonoid
      = ( ! [X3: subst,X2: subst,X4: subst] :
            ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
            = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) ) ) )
    & ! [X2: subst] :
        ( ( comp @ X2 @ id )
        = X2 )
    & ! [X2: subst] :
        ( ( comp @ id @ X2 )
        = X2 ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',substmonoid) ).

thf(f438,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f297]) ).

thf(f297,plain,
    ( induction2
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y1 )
                     => ( ( Y0 @ Y2 )
                       => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y0 @ Y2 )
                         => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f296]) ).

thf(f296,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term] :
            ( ( var @ X1 )
           => ( X0 @ X1 ) )
       => ( ! [X2: term,X3: term] :
              ( ( X0 @ X3 )
             => ( ( X0 @ X2 )
               => ( X0 @ ( ap @ X3 @ X2 ) ) ) )
         => ( ! [X4: term] :
                ( ! [X5: term] :
                    ( ( X0 @ X5 )
                   => ( X0 @ ( sub @ X4 @ ( push @ X5 @ id ) ) ) )
               => ( X0 @ ( lam @ X4 ) ) )
           => ! [X6: term] : ( X0 @ X6 ) ) ) )
      = induction2 ),
    inference(rectify,[],[f46]) ).

thf(f46,axiom,
    ! [X5: term > $o] :
      ( ( ! [X0: term] :
            ( ( var @ X0 )
           => ( X5 @ X0 ) )
       => ( ! [X1: term,X0: term] :
              ( ( X5 @ X0 )
             => ( ( X5 @ X1 )
               => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
         => ( ! [X0: term] :
                ( ! [X1: term] :
                    ( ( X5 @ X1 )
                   => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
               => ( X5 @ ( lam @ X0 ) ) )
           => ! [X0: term] : ( X5 @ X0 ) ) ) )
      = induction2 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',induction2) ).

thf(f417,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y1 )
                   => ( ( Y0 @ Y2 )
                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f285]) ).

thf(f285,plain,
    ( induction2lem
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( ( Y0 @ Y1 )
                   => ( ( Y0 @ Y2 )
                     => ( Y0 @ ( ap @ Y1 @ Y2 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( Y0 @ Y2 )
                       => ( Y0 @ ( sub @ Y1 @ ( push @ Y2 @ id ) ) ) ) )
                 => ( Y0 @ ( lam @ Y1 ) ) ) )
           => ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( var @ Y3 )
                           => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                     => ( Y0 @ ( sub @ Y2 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f284]) ).

thf(f284,plain,
    ! [X0: term > $o] :
      ( ( ! [X1: term,X2: term] :
            ( ( X0 @ X2 )
           => ( ( X0 @ X1 )
             => ( X0 @ ( ap @ X2 @ X1 ) ) ) )
       => ( ! [X3: term] :
              ( ! [X4: term] :
                  ( ( X0 @ X4 )
                 => ( X0 @ ( sub @ X3 @ ( push @ X4 @ id ) ) ) )
             => ( X0 @ ( lam @ X3 ) ) )
         => ! [X5: term,X6: subst] :
              ( ! [X7: term] :
                  ( ( var @ X7 )
                 => ( X0 @ ( sub @ X7 @ X6 ) ) )
             => ( X0 @ ( sub @ X5 @ X6 ) ) ) ) )
      = induction2lem ),
    inference(rectify,[],[f43]) ).

thf(f43,axiom,
    ! [X5: term > $o] :
      ( ( ! [X1: term,X0: term] :
            ( ( X5 @ X0 )
           => ( ( X5 @ X1 )
             => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
       => ( ! [X0: term] :
              ( ! [X1: term] :
                  ( ( X5 @ X1 )
                 => ( X5 @ ( sub @ X0 @ ( push @ X1 @ id ) ) ) )
             => ( X5 @ ( lam @ X0 ) ) )
         => ! [X0: term,X2: subst] :
              ( ! [X1: term] :
                  ( ( var @ X1 )
                 => ( X5 @ ( sub @ X1 @ X2 ) ) )
             => ( X5 @ ( sub @ X0 @ X2 ) ) ) ) )
      = induction2lem ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',induction2lem) ).

thf(f442,plain,
    ( pushprop
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                 => ( ( Y0 @ Y2 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f161]) ).

thf(f161,plain,
    ( pushprop
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( var @ Y3 )
                       => ( Y0 @ ( sub @ Y3 @ Y1 ) ) ) )
                 => ( ( Y0 @ Y2 )
                   => ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( var @ Y3 )
                         => ( Y0 @ ( sub @ Y3 @ ( push @ Y2 @ Y1 ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f160]) ).

thf(f160,plain,
    ! [X0: term,X1: subst,X2: term > $o] :
      ( ( ! [X3: term] :
            ( ( var @ X3 )
           => ( X2 @ ( sub @ X3 @ X1 ) ) )
       => ( ( X2 @ X0 )
         => ! [X4: term] :
              ( ( var @ X4 )
             => ( X2 @ ( sub @ X4 @ ( push @ X0 @ X1 ) ) ) ) ) )
      = pushprop ),
    inference(rectify,[],[f39]) ).

thf(f39,axiom,
    ! [X0: term,X2: subst,X5: term > $o] :
      ( ( ! [X1: term] :
            ( ( var @ X1 )
           => ( X5 @ ( sub @ X1 @ X2 ) ) )
       => ( ( X5 @ X0 )
         => ! [X1: term] :
              ( ( var @ X1 )
             => ( X5 @ ( sub @ X1 @ ( push @ X0 @ X2 ) ) ) ) ) )
      = pushprop ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',pushprop) ).

thf(f343,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f309]) ).

thf(f309,plain,
    ( induction
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ term
            @ ^ [Y1: term] :
                ( ( var @ Y1 )
               => ( Y0 @ Y1 ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( Y0 @ Y2 )
                     => ( ( Y0 @ Y1 )
                       => ( Y0 @ ( ap @ Y2 @ Y1 ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( Y0 @ Y1 )
                   => ( Y0 @ ( lam @ Y1 ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] : ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f308]) ).

thf(f308,plain,
    ( induction
    = ( ! [X0: term > $o] :
          ( ! [X1: term] :
              ( ( var @ X1 )
             => ( X0 @ X1 ) )
         => ( ! [X2: term,X3: term] :
                ( ( X0 @ X2 )
               => ( ( X0 @ X3 )
                 => ( X0 @ ( ap @ X2 @ X3 ) ) ) )
           => ( ! [X4: term] :
                  ( ( X0 @ X4 )
                 => ( X0 @ ( lam @ X4 ) ) )
             => ! [X5: term] : ( X0 @ X5 ) ) ) ) ) ),
    inference(rectify,[],[f23]) ).

thf(f23,axiom,
    ( induction
    = ( ! [X5: term > $o] :
          ( ! [X0: term] :
              ( ( var @ X0 )
             => ( X5 @ X0 ) )
         => ( ! [X0: term,X1: term] :
                ( ( X5 @ X0 )
               => ( ( X5 @ X1 )
                 => ( X5 @ ( ap @ X0 @ X1 ) ) ) )
           => ( ! [X0: term] :
                  ( ( X5 @ X0 )
                 => ( X5 @ ( lam @ X0 ) ) )
             => ! [X0: term] : ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',induction) ).

thf(f359,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(cnf_transformation,[],[f231]) ).

thf(f231,plain,
    ( lamnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ~ ( var @ ( lam @ Y0 ) ) ) ),
    inference(fool_elimination,[],[f230]) ).

thf(f230,plain,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    inference(rectify,[],[f22]) ).

thf(f22,axiom,
    ! [X0: term] :
      ( ( ~ ( var @ ( lam @ X0 ) ) )
      = lamnotvar ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',lamnotvar) ).

thf(f387,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f142]) ).

thf(f142,plain,
    ( apnotvar
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ~ ( var @ ( ap @ Y1 @ Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f141]) ).

thf(f141,plain,
    ! [X0: term,X1: term] :
      ( ( ~ ( var @ ( ap @ X0 @ X1 ) ) )
      = apnotvar ),
    inference(rectify,[],[f21]) ).

thf(f21,axiom,
    ! [X0: term,X1: term] :
      ( ( ~ ( var @ ( ap @ X0 @ X1 ) ) )
      = apnotvar ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',apnotvar) ).

thf(f380,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( lam @ Y2 )
                 != ( ap @ Y1 @ Y0 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f257]) ).

thf(f257,plain,
    ( lamnotap
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( lam @ Y2 )
                 != ( ap @ Y1 @ Y0 ) ) ) ) ) ),
    inference(fool_elimination,[],[f256]) ).

thf(f256,plain,
    ! [X0: term,X1: term,X2: term] :
      ( ( ( lam @ X0 )
       != ( ap @ X1 @ X2 ) )
      = lamnotap ),
    inference(rectify,[],[f20]) ).

thf(f20,axiom,
    ! [X0: term,X1: term,X6: term] :
      ( ( ( lam @ X0 )
       != ( ap @ X1 @ X6 ) )
      = lamnotap ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',lamnotap) ).

thf(f405,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f157]) ).

thf(f157,plain,
    ( shinj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( sub @ Y1 @ sh )
                = ( sub @ Y0 @ sh ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f156]) ).

thf(f156,plain,
    ! [X0: term,X1: term] :
      ( ( ( ( sub @ X0 @ sh )
          = ( sub @ X1 @ sh ) )
       => ( X0 = X1 ) )
      = shinj ),
    inference(rectify,[],[f19]) ).

thf(f19,axiom,
    ! [X1: term,X0: term] :
      ( ( ( ( sub @ X0 @ sh )
          = ( sub @ X1 @ sh ) )
       => ( X0 = X1 ) )
      = shinj ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',shinj) ).

thf(f424,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(cnf_transformation,[],[f187]) ).

thf(f187,plain,
    ( laminj
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( ( lam @ Y1 )
                = ( lam @ Y0 ) )
             => ( Y1 = Y0 ) ) ) ) ),
    inference(fool_elimination,[],[f186]) ).

thf(f186,plain,
    ! [X0: term,X1: term] :
      ( ( ( ( lam @ X0 )
          = ( lam @ X1 ) )
       => ( X0 = X1 ) )
      = laminj ),
    inference(rectify,[],[f18]) ).

thf(f18,axiom,
    ! [X1: term,X0: term] :
      ( ( ( ( lam @ X0 )
          = ( lam @ X1 ) )
       => ( X0 = X1 ) )
      = laminj ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',laminj) ).

thf(f353,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y0 @ Y3 )
                        = ( ap @ Y1 @ Y2 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f120]) ).

thf(f120,plain,
    ( apinj2
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y0 @ Y3 )
                        = ( ap @ Y1 @ Y2 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f119]) ).

thf(f119,plain,
    ( apinj2
    = ( ! [X0: term,X1: term,X2: term,X3: term] :
          ( ( ( ap @ X3 @ X0 )
            = ( ap @ X2 @ X1 ) )
         => ( X0 = X1 ) ) ) ),
    inference(rectify,[],[f17]) ).

thf(f17,axiom,
    ( apinj2
    = ( ! [X7: term,X6: term,X0: term,X1: term] :
          ( ( ( ap @ X0 @ X6 )
            = ( ap @ X1 @ X7 ) )
         => ( X6 = X7 ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',apinj2) ).

thf(f383,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y1 )
                        = ( ap @ Y2 @ Y0 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f325]) ).

thf(f325,plain,
    ( apinj1
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( !! @ term
                  @ ^ [Y3: term] :
                      ( ( ( ap @ Y3 @ Y1 )
                        = ( ap @ Y2 @ Y0 ) )
                     => ( Y3 = Y2 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f324]) ).

thf(f324,plain,
    ! [X0: term,X1: term,X2: term,X3: term] :
      ( ( ( ( ap @ X0 @ X2 )
          = ( ap @ X1 @ X3 ) )
       => ( X0 = X1 ) )
      = apinj1 ),
    inference(rectify,[],[f16]) ).

thf(f16,axiom,
    ! [X0: term,X1: term,X6: term,X7: term] :
      ( ( ( ( ap @ X0 @ X6 )
          = ( ap @ X1 @ X7 ) )
       => ( X0 = X1 ) )
      = apinj1 ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',apinj1) ).

thf(f421,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f233]) ).

thf(f233,plain,
    ( ulamvarind
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( Y0 @ one )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( ( Y0 @ Y1 )
                   => ( Y0 @ ( sub @ Y1 @ sh ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( ( var @ Y1 )
                 => ( Y0 @ Y1 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f232]) ).

thf(f232,plain,
    ( ulamvarind
    = ( ! [X0: term > $o] :
          ( ( X0 @ one )
         => ( ! [X1: term] :
                ( ( var @ X1 )
               => ( ( X0 @ X1 )
                 => ( X0 @ ( sub @ X1 @ sh ) ) ) )
           => ! [X2: term] :
                ( ( var @ X2 )
               => ( X0 @ X2 ) ) ) ) ) ),
    inference(rectify,[],[f15]) ).

thf(f15,axiom,
    ( ulamvarind
    = ( ! [X5: term > $o] :
          ( ( X5 @ one )
         => ( ! [X0: term] :
                ( ( var @ X0 )
               => ( ( X5 @ X0 )
                 => ( X5 @ ( sub @ X0 @ sh ) ) ) )
           => ! [X0: term] :
                ( ( var @ X0 )
               => ( X5 @ X0 ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',ulamvarind) ).

thf(f440,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(cnf_transformation,[],[f251]) ).

thf(f251,plain,
    ( ulamvarsh
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( var @ ( sub @ Y0 @ sh ) ) ) ) ),
    inference(fool_elimination,[],[f250]) ).

thf(f250,plain,
    ( ulamvarsh
    = ( ! [X0: term] :
          ( ( var @ X0 )
         => ( var @ ( sub @ X0 @ sh ) ) ) ) ),
    inference(rectify,[],[f14]) ).

thf(f14,axiom,
    ( ulamvarsh
    = ( ! [X0: term] :
          ( ( var @ X0 )
         => ( var @ ( sub @ X0 @ sh ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',ulamvarsh) ).

thf(f402,plain,
    ( ulamvar1
    = ( var @ one ) ),
    inference(cnf_transformation,[],[f13]) ).

thf(f13,axiom,
    ( ulamvar1
    = ( var @ one ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',ulamvar1) ).

thf(f334,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f179]) ).

thf(f179,plain,
    ( axscons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( push @ ( sub @ one @ Y0 ) @ ( comp @ sh @ Y0 ) )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f178]) ).

thf(f178,plain,
    ( axscons
    = ( ! [X0: subst] :
          ( ( push @ ( sub @ one @ X0 ) @ ( comp @ sh @ X0 ) )
          = X0 ) ) ),
    inference(rectify,[],[f12]) ).

thf(f12,axiom,
    ( axscons
    = ( ! [X2: subst] :
          ( ( push @ ( sub @ one @ X2 ) @ ( comp @ sh @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axscons) ).

thf(f429,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(cnf_transformation,[],[f155]) ).

thf(f155,plain,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    inference(fool_elimination,[],[f11]) ).

thf(f11,axiom,
    ( axvarshift
    = ( id
      = ( push @ one @ sh ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axvarshift) ).

thf(f426,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f205]) ).

thf(f205,plain,
    ( axidr
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f204]) ).

thf(f204,plain,
    ( axidr
    = ( ! [X0: subst] :
          ( ( comp @ X0 @ id )
          = X0 ) ) ),
    inference(rectify,[],[f10]) ).

thf(f10,axiom,
    ( axidr
    = ( ! [X2: subst] :
          ( ( comp @ X2 @ id )
          = X2 ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axidr) ).

thf(f357,plain,
    ( axmap
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                  = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f330]) ).

thf(f330,plain,
    ( axmap
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( push @ Y1 @ Y0 ) @ Y2 )
                  = ( push @ ( sub @ Y1 @ Y2 ) @ ( comp @ Y0 @ Y2 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f329]) ).

thf(f329,plain,
    ( axmap
    = ( ! [X0: subst,X1: term,X2: subst] :
          ( ( comp @ ( push @ X1 @ X2 ) @ X0 )
          = ( push @ ( sub @ X1 @ X0 ) @ ( comp @ X2 @ X0 ) ) ) ) ),
    inference(rectify,[],[f9]) ).

thf(f9,axiom,
    ( axmap
    = ( ! [X3: subst,X0: term,X2: subst] :
          ( ( comp @ ( push @ X0 @ X2 ) @ X3 )
          = ( push @ ( sub @ X0 @ X3 ) @ ( comp @ X2 @ X3 ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axmap) ).

thf(f336,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f199]) ).

thf(f199,plain,
    ( axassoc
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( comp @ ( comp @ Y1 @ Y2 ) @ Y0 )
                  = ( comp @ Y1 @ ( comp @ Y2 @ Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f198]) ).

thf(f198,plain,
    ( axassoc
    = ( ! [X0: subst,X1: subst,X2: subst] :
          ( ( comp @ ( comp @ X1 @ X0 ) @ X2 )
          = ( comp @ X1 @ ( comp @ X0 @ X2 ) ) ) ) ),
    inference(rectify,[],[f8]) ).

thf(f8,axiom,
    ( axassoc
    = ( ! [X3: subst,X2: subst,X4: subst] :
          ( ( comp @ ( comp @ X2 @ X3 ) @ X4 )
          = ( comp @ X2 @ ( comp @ X3 @ X4 ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axassoc) ).

thf(f369,plain,
    ( axshiftcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
              = Y0 ) ) ) ),
    inference(cnf_transformation,[],[f203]) ).

thf(f203,plain,
    ( axshiftcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( comp @ sh @ ( push @ Y1 @ Y0 ) )
              = Y0 ) ) ) ),
    inference(fool_elimination,[],[f202]) ).

thf(f202,plain,
    ( axshiftcons
    = ( ! [X0: term,X1: subst] :
          ( ( comp @ sh @ ( push @ X0 @ X1 ) )
          = X1 ) ) ),
    inference(rectify,[],[f7]) ).

thf(f7,axiom,
    ( axshiftcons
    = ( ! [X0: term,X2: subst] :
          ( ( comp @ sh @ ( push @ X0 @ X2 ) )
          = X2 ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axshiftcons) ).

thf(f422,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f265]) ).

thf(f265,plain,
    ( axidl
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( ( comp @ id @ Y0 )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f264]) ).

thf(f264,plain,
    ! [X0: subst] :
      ( ( ( comp @ id @ X0 )
        = X0 )
      = axidl ),
    inference(rectify,[],[f6]) ).

thf(f6,axiom,
    ! [X2: subst] :
      ( ( ( comp @ id @ X2 )
        = X2 )
      = axidl ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axidl) ).

thf(f388,plain,
    ( axclos
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                  = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(cnf_transformation,[],[f225]) ).

thf(f225,plain,
    ( axclos
    = ( !! @ term
      @ ^ [Y0: term] :
          ( !! @ subst
          @ ^ [Y1: subst] :
              ( !! @ subst
              @ ^ [Y2: subst] :
                  ( ( sub @ Y0 @ ( comp @ Y2 @ Y1 ) )
                  = ( sub @ ( sub @ Y0 @ Y2 ) @ Y1 ) ) ) ) ) ),
    inference(fool_elimination,[],[f224]) ).

thf(f224,plain,
    ! [X0: subst,X1: subst,X2: term] :
      ( ( ( sub @ X2 @ ( comp @ X0 @ X1 ) )
        = ( sub @ ( sub @ X2 @ X0 ) @ X1 ) )
      = axclos ),
    inference(rectify,[],[f5]) ).

thf(f5,axiom,
    ! [X2: subst,X3: subst,X0: term] :
      ( ( ( sub @ ( sub @ X0 @ X2 ) @ X3 )
        = ( sub @ X0 @ ( comp @ X2 @ X3 ) ) )
      = axclos ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axclos) ).

thf(f390,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f163]) ).

thf(f163,plain,
    ( axabs
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ ( lam @ Y1 ) @ Y0 )
              = ( lam @ ( sub @ Y1 @ ( push @ one @ ( comp @ Y0 @ sh ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f162]) ).

thf(f162,plain,
    ! [X0: term,X1: subst] :
      ( ( ( sub @ ( lam @ X0 ) @ X1 )
        = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X1 @ sh ) ) ) ) )
      = axabs ),
    inference(rectify,[],[f4]) ).

thf(f4,axiom,
    ! [X0: term,X2: subst] :
      ( ( ( sub @ ( lam @ X0 ) @ X2 )
        = ( lam @ ( sub @ X0 @ ( push @ one @ ( comp @ X2 @ sh ) ) ) ) )
      = axabs ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axabs) ).

thf(f347,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(cnf_transformation,[],[f326]) ).

thf(f326,plain,
    ( axvarid
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sub @ Y0 @ id )
          = Y0 ) ) ),
    inference(fool_elimination,[],[f3]) ).

thf(f3,axiom,
    ( axvarid
    = ( ! [X0: term] :
          ( ( sub @ X0 @ id )
          = X0 ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axvarid) ).

thf(f333,plain,
    ( axvarcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
              = Y1 ) ) ) ),
    inference(cnf_transformation,[],[f301]) ).

thf(f301,plain,
    ( axvarcons
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( ( sub @ one @ ( push @ Y1 @ Y0 ) )
              = Y1 ) ) ) ),
    inference(fool_elimination,[],[f300]) ).

thf(f300,plain,
    ! [X0: term,X1: subst] :
      ( ( ( sub @ one @ ( push @ X0 @ X1 ) )
        = X0 )
      = axvarcons ),
    inference(rectify,[],[f2]) ).

thf(f2,axiom,
    ! [X0: term,X2: subst] :
      ( ( ( sub @ one @ ( push @ X0 @ X2 ) )
        = X0 )
      = axvarcons ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axvarcons) ).

thf(f407,plain,
    ( axapp
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y1 @ Y2 ) @ Y0 )
                  = ( ap @ ( sub @ Y1 @ Y0 ) @ ( sub @ Y2 @ Y0 ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f219]) ).

thf(f219,plain,
    ( axapp
    = ( !! @ subst
      @ ^ [Y0: subst] :
          ( !! @ term
          @ ^ [Y1: term] :
              ( !! @ term
              @ ^ [Y2: term] :
                  ( ( sub @ ( ap @ Y1 @ Y2 ) @ Y0 )
                  = ( ap @ ( sub @ Y1 @ Y0 ) @ ( sub @ Y2 @ Y0 ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f218]) ).

thf(f218,plain,
    ! [X0: term,X1: term,X2: subst] :
      ( ( ( sub @ ( ap @ X1 @ X0 ) @ X2 )
        = ( ap @ ( sub @ X1 @ X2 ) @ ( sub @ X0 @ X2 ) ) )
      = axapp ),
    inference(rectify,[],[f1]) ).

thf(f1,axiom,
    ! [X1: term,X0: term,X2: subst] :
      ( ( ( sub @ ( ap @ X0 @ X1 ) @ X2 )
        = ( ap @ ( sub @ X0 @ X2 ) @ ( sub @ X1 @ X2 ) ) )
      = axapp ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',axapp) ).

thf(f344,plain,
    ( hoasinduction_lem1v2_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => hoasinduction_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(cnf_transformation,[],[f195]) ).

thf(f195,plain,
    ( hoasinduction_lem1v2_gthm
    = ( axapp
     => ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => hoasinduction_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(fool_elimination,[],[f194]) ).

thf(f194,plain,
    ( axapp
   => ( ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => hoasinduction_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
      = hoasinduction_lem1v2_gthm ) ),
    inference(rectify,[],[f80]) ).

thf(f80,axiom,
    ( axapp
   => ( ( axvarcons
       => ( axvarid
         => ( axabs
           => ( axclos
             => ( axidl
               => ( axshiftcons
                 => ( axassoc
                   => ( axmap
                     => ( axidr
                       => ( axvarshift
                         => ( axscons
                           => ( ulamvar1
                             => ( ulamvarsh
                               => ( ulamvarind
                                 => ( apinj1
                                   => ( apinj2
                                     => ( laminj
                                       => ( shinj
                                         => ( lamnotap
                                           => ( apnotvar
                                             => ( lamnotvar
                                               => ( induction
                                                 => ( pushprop
                                                   => ( induction2lem
                                                     => ( induction2
                                                       => ( substmonoid
                                                         => ( termmset
                                                           => ( hoasapinj1
                                                             => ( hoasapinj2
                                                               => ( hoaslaminj
                                                                 => ( hoaslamnotap
                                                                   => ( hoaslamnotvar
                                                                     => ( hoasapnotvar
                                                                       => hoasinduction_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
      = hoasinduction_lem1v2_gthm ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',hoasinduction_lem1v2_gthm) ).

thf(f348,plain,
    hoasinduction_lem1v2_gthm != $true,
    inference(cnf_transformation,[],[f331]) ).

thf(f331,plain,
    hoasinduction_lem1v2_gthm != $true,
    inference(flattening,[],[f328]) ).

thf(f328,plain,
    hoasinduction_lem1v2_gthm != $true,
    inference(fool_elimination,[],[f327]) ).

thf(f327,plain,
    ~ hoasinduction_lem1v2_gthm,
    inference(rectify,[],[f115]) ).

thf(f115,negated_conjecture,
    ~ hoasinduction_lem1v2_gthm,
    inference(negated_conjecture,[],[f114]) ).

thf(f114,conjecture,
    hoasinduction_lem1v2_gthm,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',thm) ).

thf(f1076,plain,
    ! [X1: term] :
      ( ( $true
        = ( sK43 @ id @ X1 @ id ) )
      | ( ( var @ ( sub @ X1 @ id ) )
        = $false ) ),
    inference(binary_proxy_clausification,[],[f1075]) ).

thf(f1075,plain,
    ! [X1: term] :
      ( ( ( var @ ( sub @ X1 @ id ) )
       => ( sK43 @ id @ X1 @ id ) )
      = $true ),
    inference(beta_eta_normalization,[],[f1074]) ).

thf(f1074,plain,
    ! [X1: term] :
      ( $true
      = ( ^ [Y0: term] :
            ( ( var @ ( sub @ Y0 @ id ) )
           => ( sK43 @ id @ Y0 @ id ) )
        @ X1 ) ),
    inference(pi_clausification,[],[f1073]) ).

thf(f1073,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ ( sub @ Y0 @ id ) )
         => ( sK43 @ id @ Y0 @ id ) ) )
    = $true ),
    inference(binary_proxy_clausification,[],[f1061]) ).

thf(f1061,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( var @ ( sub @ Y0 @ id ) )
           => ( sK43 @ id @ Y0 @ id ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( sK44 @ Y0 )
              = ( sK43 @ id @ Y0 @ id ) ) )
       => ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ Y0 )
             => ( sK44 @ Y0 ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1050]) ).

thf(f1050,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sK43 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y3 )
                       => ( sK43 @ Y1 @ Y0 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( ( var @ ( sub @ Y0 @ id ) )
             => ( sK43 @ id @ Y0 @ id ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( sK44 @ Y0 )
                = ( sK43 @ id @ Y0 @ id ) ) )
         => ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ Y0 )
               => ( sK44 @ Y0 ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1049]) ).

thf(f1049,plain,
    ( ( ( !! @ subst
        @ ^ [Y0: subst] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( ( sK43 @ Y2 @ Y1 @ ( comp @ Y0 @ Y3 ) )
                       => ( sK43 @ ( comp @ Y2 @ Y0 ) @ ( sub @ Y1 @ Y0 ) @ Y3 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( sK43 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y0 @ Y2 ) @ Y3 )
                         => ( sK43 @ Y1 @ Y0 @ ( comp @ Y2 @ Y3 ) ) ) ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( ( var @ ( sub @ Y0 @ id ) )
               => ( sK43 @ id @ Y0 @ id ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( ( sK44 @ Y0 )
                  = ( sK43 @ id @ Y0 @ id ) ) )
           => ( !! @ term
              @ ^ [Y0: term] :
                  ( ( var @ Y0 )
                 => ( sK44 @ Y0 ) ) ) ) ) ) )
    = $false ),
    inference(beta_eta_normalization,[],[f1048]) ).

thf(f1048,plain,
    ( $false
    = ( ^ [Y0: term > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( sK43 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) )
                           => ( sK43 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sK43 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 )
                             => ( sK43 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ ( sub @ Y1 @ id ) )
                   => ( sK43 @ id @ Y1 @ id ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                      = ( sK43 @ id @ Y1 @ id ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) ) )
      @ sK44 ) ),
    inference(sigma_clausification,[],[f1047]) ).

thf(f1047,plain,
    ( $false
    = ( !! @ ( term > $o )
      @ ^ [Y0: term > $o] :
          ( ( !! @ subst
            @ ^ [Y1: subst] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ subst
                    @ ^ [Y3: subst] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( ( sK43 @ Y3 @ Y2 @ ( comp @ Y1 @ Y4 ) )
                           => ( sK43 @ ( comp @ Y3 @ Y1 ) @ ( sub @ Y2 @ Y1 ) @ Y4 ) ) ) ) ) )
         => ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( ( sK43 @ ( comp @ Y2 @ Y3 ) @ ( sub @ Y1 @ Y3 ) @ Y4 )
                             => ( sK43 @ Y2 @ Y1 @ ( comp @ Y3 @ Y4 ) ) ) ) ) ) )
           => ( ( !! @ term
                @ ^ [Y1: term] :
                    ( ( var @ ( sub @ Y1 @ id ) )
                   => ( sK43 @ id @ Y1 @ id ) ) )
             => ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( Y0 @ Y1 )
                      = ( sK43 @ id @ Y1 @ id ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( ( var @ Y1 )
                     => ( Y0 @ Y1 ) ) ) ) ) ) ) ) ),
    inference(beta_eta_normalization,[],[f1046]) ).

thf(f1046,plain,
    ( ( ^ [Y0: subst > term > subst > $o] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( !! @ subst
                            @ ^ [Y5: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( var @ ( sub @ Y2 @ id ) )
                       => ( Y0 @ id @ Y2 @ id ) ) )
                 => ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y1 @ Y2 )
                          = ( Y0 @ id @ Y2 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ Y2 )
                         => ( Y1 @ Y2 ) ) ) ) ) ) ) )
      @ sK43 )
    = $false ),
    inference(sigma_clausification,[],[f1039]) ).

thf(f1039,plain,
    ( ( !! @ ( subst > term > subst > $o )
      @ ^ [Y0: subst > term > subst > $o] :
          ( !! @ ( term > $o )
          @ ^ [Y1: term > $o] :
              ( ( !! @ subst
                @ ^ [Y2: subst] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( !! @ subst
                        @ ^ [Y4: subst] :
                            ( !! @ subst
                            @ ^ [Y5: subst] :
                                ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                               => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                 => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( var @ ( sub @ Y2 @ id ) )
                       => ( Y0 @ id @ Y2 @ id ) ) )
                 => ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( Y1 @ Y2 )
                          = ( Y0 @ id @ Y2 @ id ) ) )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ Y2 )
                         => ( Y1 @ Y2 ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1026]) ).

thf(f1026,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
     => ( !! @ ( subst > term > subst > $o )
        @ ^ [Y0: subst > term > subst > $o] :
            ( !! @ ( term > $o )
            @ ^ [Y1: term > $o] :
                ( ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( !! @ subst
                          @ ^ [Y4: subst] :
                              ( !! @ subst
                              @ ^ [Y5: subst] :
                                  ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                 => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
               => ( ( !! @ term
                    @ ^ [Y2: term] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( !! @ subst
                                @ ^ [Y5: subst] :
                                    ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                   => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( var @ ( sub @ Y2 @ id ) )
                         => ( Y0 @ id @ Y2 @ id ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( Y1 @ Y2 )
                            = ( Y0 @ id @ Y2 @ id ) ) )
                     => ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( var @ Y2 )
                           => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1008]) ).

thf(f1008,plain,
    ( $false
    = ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
           => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
       => ( !! @ ( subst > term > subst > $o )
          @ ^ [Y0: subst > term > subst > $o] :
              ( !! @ ( term > $o )
              @ ^ [Y1: term > $o] :
                  ( ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( !! @ subst
                                @ ^ [Y5: subst] :
                                    ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                   => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                 => ( ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( !! @ subst
                                  @ ^ [Y5: subst] :
                                      ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                     => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( var @ ( sub @ Y2 @ id ) )
                           => ( Y0 @ id @ Y2 @ id ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( Y1 @ Y2 )
                              = ( Y0 @ id @ Y2 @ id ) ) )
                       => ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( var @ Y2 )
                             => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f979]) ).

thf(f979,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ subst
                      @ ^ [Y3: subst] :
                          ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                          = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
           => ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( ( lam @ ( Y0 @ sh @ one ) )
                     != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
             => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
       => ( ( !! @ term
            @ ^ [Y0: term] :
                ( !! @ term
                @ ^ [Y1: term] :
                    ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
         => ( !! @ ( subst > term > subst > $o )
            @ ^ [Y0: subst > term > subst > $o] :
                ( !! @ ( term > $o )
                @ ^ [Y1: term > $o] :
                    ( ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( !! @ subst
                                  @ ^ [Y5: subst] :
                                      ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                     => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                   => ( ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( !! @ subst
                                    @ ^ [Y5: subst] :
                                        ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                       => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( ( var @ ( sub @ Y2 @ id ) )
                             => ( Y0 @ id @ Y2 @ id ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( Y1 @ Y2 )
                                = ( Y0 @ id @ Y2 @ id ) ) )
                         => ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( var @ Y2 )
                               => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f966]) ).

thf(f966,plain,
    ( ( ( !! @ ( subst > term > term )
        @ ^ [Y0: subst > term > term] :
            ( ( !! @ subst
              @ ^ [Y1: subst] :
                  ( !! @ subst
                  @ ^ [Y2: subst] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                          = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
           => ( !! @ ( subst > term > term )
              @ ^ [Y1: subst > term > term] :
                  ( ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( !! @ subst
                            @ ^ [Y4: subst] :
                                ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                 => ( ( ( lam @ ( Y1 @ sh @ one ) )
                      = ( lam @ ( Y0 @ sh @ one ) ) )
                   => ( !! @ term
                      @ ^ [Y2: term] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ Y3 @ Y2 )
                              = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ subst
                        @ ^ [Y3: subst] :
                            ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                            = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
             => ( !! @ term
                @ ^ [Y1: term] :
                    ( !! @ term
                    @ ^ [Y2: term] :
                        ( ( lam @ ( Y0 @ sh @ one ) )
                       != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
               => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
         => ( ( !! @ term
              @ ^ [Y0: term] :
                  ( !! @ term
                  @ ^ [Y1: term] :
                      ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
           => ( !! @ ( subst > term > subst > $o )
              @ ^ [Y0: subst > term > subst > $o] :
                  ( !! @ ( term > $o )
                  @ ^ [Y1: term > $o] :
                      ( ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( !! @ subst
                                    @ ^ [Y5: subst] :
                                        ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                       => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                     => ( ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( !! @ subst
                                      @ ^ [Y5: subst] :
                                          ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                         => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( ( var @ ( sub @ Y2 @ id ) )
                               => ( Y0 @ id @ Y2 @ id ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( Y1 @ Y2 )
                                  = ( Y0 @ id @ Y2 @ id ) ) )
                           => ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( var @ Y2 )
                                 => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f953]) ).

thf(f953,plain,
    ( $false
    = ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                          = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                       => ( Y3 = Y0 ) ) ) ) ) )
     => ( ( !! @ ( subst > term > term )
          @ ^ [Y0: subst > term > term] :
              ( ( !! @ subst
                @ ^ [Y1: subst] :
                    ( !! @ subst
                    @ ^ [Y2: subst] :
                        ( !! @ term
                        @ ^ [Y3: term] :
                            ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                            = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
             => ( !! @ ( subst > term > term )
                @ ^ [Y1: subst > term > term] :
                    ( ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( !! @ subst
                              @ ^ [Y4: subst] :
                                  ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                  = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                   => ( ( ( lam @ ( Y1 @ sh @ one ) )
                        = ( lam @ ( Y0 @ sh @ one ) ) )
                     => ( !! @ term
                        @ ^ [Y2: term] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ Y3 @ Y2 )
                                = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ subst
                          @ ^ [Y3: subst] :
                              ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                              = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
               => ( !! @ term
                  @ ^ [Y1: term] :
                      ( !! @ term
                      @ ^ [Y2: term] :
                          ( ( lam @ ( Y0 @ sh @ one ) )
                         != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                 => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
           => ( ( !! @ term
                @ ^ [Y0: term] :
                    ( !! @ term
                    @ ^ [Y1: term] :
                        ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
             => ( !! @ ( subst > term > subst > $o )
                @ ^ [Y0: subst > term > subst > $o] :
                    ( !! @ ( term > $o )
                    @ ^ [Y1: term > $o] :
                        ( ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ term
                              @ ^ [Y3: term] :
                                  ( !! @ subst
                                  @ ^ [Y4: subst] :
                                      ( !! @ subst
                                      @ ^ [Y5: subst] :
                                          ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                         => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                       => ( ( !! @ term
                            @ ^ [Y2: term] :
                                ( !! @ subst
                                @ ^ [Y3: subst] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( !! @ subst
                                        @ ^ [Y5: subst] :
                                            ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                           => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( ( var @ ( sub @ Y2 @ id ) )
                                 => ( Y0 @ id @ Y2 @ id ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( Y1 @ Y2 )
                                    = ( Y0 @ id @ Y2 @ id ) ) )
                             => ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( var @ Y2 )
                                   => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(binary_proxy_clausification,[],[f939]) ).

thf(f939,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( !! @ term
            @ ^ [Y1: term] :
                ( !! @ term
                @ ^ [Y2: term] :
                    ( !! @ term
                    @ ^ [Y3: term] :
                        ( ( ( ap @ ( sub @ Y2 @ id ) @ Y1 )
                          = ( ap @ ( sub @ Y3 @ id ) @ Y0 ) )
                       => ( Y3 = Y2 ) ) ) ) ) )
     => ( ( !! @ term
          @ ^ [Y0: term] :
              ( !! @ term
              @ ^ [Y1: term] :
                  ( !! @ term
                  @ ^ [Y2: term] :
                      ( !! @ term
                      @ ^ [Y3: term] :
                          ( ( ( ap @ ( sub @ Y2 @ id ) @ Y3 )
                            = ( ap @ ( sub @ Y1 @ id ) @ Y0 ) )
                         => ( Y3 = Y0 ) ) ) ) ) )
       => ( ( !! @ ( subst > term > term )
            @ ^ [Y0: subst > term > term] :
                ( ( !! @ subst
                  @ ^ [Y1: subst] :
                      ( !! @ subst
                      @ ^ [Y2: subst] :
                          ( !! @ term
                          @ ^ [Y3: term] :
                              ( ( sub @ ( Y0 @ Y1 @ Y3 ) @ Y2 )
                              = ( Y0 @ ( comp @ Y1 @ Y2 ) @ ( sub @ Y3 @ Y2 ) ) ) ) ) )
               => ( !! @ ( subst > term > term )
                  @ ^ [Y1: subst > term > term] :
                      ( ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ term
                            @ ^ [Y3: term] :
                                ( !! @ subst
                                @ ^ [Y4: subst] :
                                    ( ( Y1 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) )
                                    = ( sub @ ( Y1 @ Y4 @ Y3 ) @ Y2 ) ) ) ) )
                     => ( ( ( lam @ ( Y1 @ sh @ one ) )
                          = ( lam @ ( Y0 @ sh @ one ) ) )
                       => ( !! @ term
                          @ ^ [Y2: term] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ Y3 @ Y2 )
                                  = ( Y1 @ Y3 @ Y2 ) ) ) ) ) ) ) ) )
         => ( ( !! @ ( subst > term > term )
              @ ^ [Y0: subst > term > term] :
                  ( ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ subst
                        @ ^ [Y2: subst] :
                            ( !! @ subst
                            @ ^ [Y3: subst] :
                                ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                 => ( !! @ term
                    @ ^ [Y1: term] :
                        ( !! @ term
                        @ ^ [Y2: term] :
                            ( ( lam @ ( Y0 @ sh @ one ) )
                           != ( ap @ ( sub @ Y2 @ id ) @ Y1 ) ) ) ) ) )
           => ( ( !! @ ( subst > term > term )
                @ ^ [Y0: subst > term > term] :
                    ( ( !! @ term
                      @ ^ [Y1: term] :
                          ( !! @ subst
                          @ ^ [Y2: subst] :
                              ( !! @ subst
                              @ ^ [Y3: subst] :
                                  ( ( Y0 @ ( comp @ Y3 @ Y2 ) @ ( sub @ Y1 @ Y2 ) )
                                  = ( sub @ ( Y0 @ Y3 @ Y1 ) @ Y2 ) ) ) ) )
                   => ~ ( var @ ( sub @ ( lam @ ( Y0 @ sh @ one ) ) @ id ) ) ) )
             => ( ( !! @ term
                  @ ^ [Y0: term] :
                      ( !! @ term
                      @ ^ [Y1: term] :
                          ~ ( var @ ( sub @ ( ap @ ( sub @ Y0 @ id ) @ Y1 ) @ id ) ) ) )
               => ( !! @ ( subst > term > subst > $o )
                  @ ^ [Y0: subst > term > subst > $o] :
                      ( !! @ ( term > $o )
                      @ ^ [Y1: term > $o] :
                          ( ( !! @ subst
                            @ ^ [Y2: subst] :
                                ( !! @ term
                                @ ^ [Y3: term] :
                                    ( !! @ subst
                                    @ ^ [Y4: subst] :
                                        ( !! @ subst
                                        @ ^ [Y5: subst] :
                                            ( ( Y0 @ Y4 @ Y3 @ ( comp @ Y2 @ Y5 ) )
                                           => ( Y0 @ ( comp @ Y4 @ Y2 ) @ ( sub @ Y3 @ Y2 ) @ Y5 ) ) ) ) ) )
                         => ( ( !! @ term
                              @ ^ [Y2: term] :
                                  ( !! @ subst
                                  @ ^ [Y3: subst] :
                                      ( !! @ subst
                                      @ ^ [Y4: subst] :
                                          ( !! @ subst
                                          @ ^ [Y5: subst] :
                                              ( ( Y0 @ ( comp @ Y3 @ Y4 ) @ ( sub @ Y2 @ Y4 ) @ Y5 )
                                             => ( Y0 @ Y3 @ Y2 @ ( comp @ Y4 @ Y5 ) ) ) ) ) ) )
                           => ( ( !! @ term
                                @ ^ [Y2: term] :
                                    ( ( var @ ( sub @ Y2 @ id ) )
                                   => ( Y0 @ id @ Y2 @ id ) ) )
                             => ( ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( Y1 @ Y2 )
                                      = ( Y0 @ id @ Y2 @ id ) ) )
                               => ( !! @ term
                                  @ ^ [Y2: term] :
                                      ( ( var @ Y2 )
                                     => ( Y1 @ Y2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f920]) ).

thf(f1082,plain,
    ! [X1: term] :
      ( ( $false
        = ( sK43 @ id @ X1 @ id ) )
      | ( $true
        = ( sK44 @ X1 ) ) ),
    inference(binary_proxy_clausification,[],[f1081]) ).

thf(f1081,plain,
    ! [X1: term] :
      ( ( sK44 @ X1 )
      = ( sK43 @ id @ X1 @ id ) ),
    inference(binary_proxy_clausification,[],[f1080]) ).

thf(f1080,plain,
    ! [X1: term] :
      ( $true
      = ( ( sK44 @ X1 )
        = ( sK43 @ id @ X1 @ id ) ) ),
    inference(beta_eta_normalization,[],[f1079]) ).

thf(f1079,plain,
    ! [X1: term] :
      ( $true
      = ( ^ [Y0: term] :
            ( ( sK44 @ Y0 )
            = ( sK43 @ id @ Y0 @ id ) )
        @ X1 ) ),
    inference(pi_clausification,[],[f1078]) ).

thf(f1078,plain,
    ( $true
    = ( !! @ term
      @ ^ [Y0: term] :
          ( ( sK44 @ Y0 )
          = ( sK43 @ id @ Y0 @ id ) ) ) ),
    inference(binary_proxy_clausification,[],[f1072]) ).

thf(f1072,plain,
    ( ( ( !! @ term
        @ ^ [Y0: term] :
            ( ( sK44 @ Y0 )
            = ( sK43 @ id @ Y0 @ id ) ) )
     => ( !! @ term
        @ ^ [Y0: term] :
            ( ( var @ Y0 )
           => ( sK44 @ Y0 ) ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1061]) ).

thf(f1086,plain,
    ( $false
    = ( sK44 @ sK45 ) ),
    inference(binary_proxy_clausification,[],[f1085]) ).

thf(f1085,plain,
    ( ( ( var @ sK45 )
     => ( sK44 @ sK45 ) )
    = $false ),
    inference(beta_eta_normalization,[],[f1084]) ).

thf(f1084,plain,
    ( $false
    = ( ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( sK44 @ Y0 ) )
      @ sK45 ) ),
    inference(sigma_clausification,[],[f1077]) ).

thf(f1077,plain,
    ( ( !! @ term
      @ ^ [Y0: term] :
          ( ( var @ Y0 )
         => ( sK44 @ Y0 ) ) )
    = $false ),
    inference(binary_proxy_clausification,[],[f1072]) ).

thf(f1087,plain,
    ( $true
    = ( var @ sK45 ) ),
    inference(binary_proxy_clausification,[],[f1085]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11  % Problem    : ALG263^3 : TPTP v8.2.0. Bugfixed v5.2.0.
% 0.10/0.13  % Command    : vampire --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule file --schedule_file /export/starexec/sandbox/solver/bin/quickGreedyProduceRating_steal_pow3.txt --cores 8 -m 12000 -t %d %s
% 0.12/0.34  % Computer : n020.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit   : 300
% 0.12/0.34  % WCLimit    : 300
% 0.12/0.34  % DateTime   : Sat May 18 23:39:53 EDT 2024
% 0.12/0.34  % CPUTime    : 
% 0.12/0.34  This is a TH0_THM_EQU_NAR problem
% 0.12/0.34  Running vampire_ho --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_hol --cores 8 -m 12000 -t 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.12/0.37  % (9908)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on theBenchmark for (2999ds/27Mi)
% 0.12/0.37  % (9907)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on theBenchmark for (2999ds/4Mi)
% 0.12/0.37  % (9911)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on theBenchmark for (2999ds/275Mi)
% 0.12/0.37  % (9912)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on theBenchmark for (2999ds/18Mi)
% 0.12/0.37  % (9910)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on theBenchmark for (2999ds/2Mi)
% 0.12/0.37  % (9906)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on theBenchmark for (2999ds/183Mi)
% 0.12/0.37  % (9909)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on theBenchmark for (2999ds/2Mi)
% 0.12/0.37  % (9913)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.12/0.37  % (9909)Instruction limit reached!
% 0.12/0.37  % (9909)------------------------------
% 0.12/0.37  % (9909)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.37  % (9909)Termination reason: Unknown
% 0.12/0.37  % (9909)Termination phase: shuffling
% 0.12/0.37  
% 0.12/0.37  % (9909)Memory used [KB]: 1279
% 0.12/0.37  % (9909)Time elapsed: 0.003 s
% 0.12/0.37  % (9909)Instructions burned: 2 (million)
% 0.12/0.37  % (9909)------------------------------
% 0.12/0.37  % (9909)------------------------------
% 0.12/0.37  % (9910)Instruction limit reached!
% 0.12/0.37  % (9910)------------------------------
% 0.12/0.37  % (9910)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.37  % (9910)Termination reason: Unknown
% 0.12/0.37  % (9910)Termination phase: shuffling
% 0.12/0.37  
% 0.12/0.37  % (9910)Memory used [KB]: 1279
% 0.12/0.37  % (9910)Time elapsed: 0.003 s
% 0.12/0.37  % (9910)Instructions burned: 2 (million)
% 0.12/0.37  % (9910)------------------------------
% 0.12/0.37  % (9910)------------------------------
% 0.12/0.37  % (9913)Instruction limit reached!
% 0.12/0.37  % (9913)------------------------------
% 0.12/0.37  % (9913)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.37  % (9913)Termination reason: Unknown
% 0.12/0.37  % (9913)Termination phase: shuffling
% 0.12/0.37  
% 0.12/0.37  % (9913)Memory used [KB]: 1279
% 0.12/0.37  % (9913)Time elapsed: 0.003 s
% 0.12/0.37  % (9913)Instructions burned: 3 (million)
% 0.12/0.37  % (9913)------------------------------
% 0.12/0.37  % (9913)------------------------------
% 0.12/0.37  % (9907)Instruction limit reached!
% 0.12/0.37  % (9907)------------------------------
% 0.12/0.37  % (9907)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.37  % (9907)Termination reason: Unknown
% 0.12/0.37  % (9907)Termination phase: shuffling
% 0.12/0.37  
% 0.12/0.37  % (9907)Memory used [KB]: 1279
% 0.12/0.37  % (9907)Time elapsed: 0.004 s
% 0.12/0.37  % (9907)Instructions burned: 4 (million)
% 0.12/0.37  % (9907)------------------------------
% 0.12/0.37  % (9907)------------------------------
% 0.12/0.38  % (9912)Instruction limit reached!
% 0.12/0.38  % (9912)------------------------------
% 0.12/0.38  % (9912)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.38  % (9912)Termination reason: Unknown
% 0.12/0.38  % (9912)Termination phase: Property scanning
% 0.12/0.38  
% 0.12/0.38  % (9912)Memory used [KB]: 1663
% 0.12/0.38  % (9912)Time elapsed: 0.011 s
% 0.12/0.38  % (9912)Instructions burned: 19 (million)
% 0.12/0.38  % (9912)------------------------------
% 0.12/0.38  % (9912)------------------------------
% 0.12/0.38  % (9908)Instruction limit reached!
% 0.12/0.38  % (9908)------------------------------
% 0.12/0.38  % (9908)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.38  % (9908)Termination reason: Unknown
% 0.12/0.38  % (9908)Termination phase: Property scanning
% 0.12/0.38  
% 0.12/0.38  % (9908)Memory used [KB]: 1791
% 0.12/0.38  % (9908)Time elapsed: 0.015 s
% 0.12/0.38  % (9908)Instructions burned: 29 (million)
% 0.12/0.38  % (9908)------------------------------
% 0.12/0.38  % (9908)------------------------------
% 0.12/0.38  % (9916)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.12/0.38  % (9914)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on theBenchmark for (2999ds/37Mi)
% 0.12/0.38  % (9915)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on theBenchmark for (2999ds/15Mi)
% 0.12/0.38  % (9917)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on theBenchmark for (2999ds/1041Mi)
% 0.12/0.38  % (9916)Instruction limit reached!
% 0.12/0.38  % (9916)------------------------------
% 0.12/0.38  % (9916)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.38  % (9916)Termination reason: Unknown
% 0.12/0.38  % (9916)Termination phase: shuffling
% 0.12/0.38  
% 0.12/0.38  % (9916)Memory used [KB]: 1279
% 0.12/0.38  % (9916)Time elapsed: 0.003 s
% 0.12/0.38  % (9916)Instructions burned: 3 (million)
% 0.12/0.38  % (9916)------------------------------
% 0.12/0.38  % (9916)------------------------------
% 0.12/0.39  % (9911)Refutation not found, incomplete strategy
% 0.12/0.39  % (9911)------------------------------
% 0.12/0.39  % (9911)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.39  % (9911)Termination reason: Refutation not found, incomplete strategy
% 0.12/0.39  
% 0.12/0.39  
% 0.12/0.39  % (9911)Memory used [KB]: 6268
% 0.12/0.39  % (9911)Time elapsed: 0.018 s
% 0.12/0.39  % (9911)Instructions burned: 32 (million)
% 0.12/0.39  % (9911)------------------------------
% 0.12/0.39  % (9911)------------------------------
% 0.12/0.39  % (9918)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on theBenchmark for (2999ds/7Mi)
% 0.12/0.39  % (9915)Instruction limit reached!
% 0.12/0.39  % (9915)------------------------------
% 0.12/0.39  % (9915)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.39  % (9915)Termination reason: Unknown
% 0.12/0.39  % (9915)Termination phase: Property scanning
% 0.12/0.39  
% 0.12/0.39  % (9915)Memory used [KB]: 1663
% 0.12/0.39  % (9915)Time elapsed: 0.010 s
% 0.12/0.39  % (9915)Instructions burned: 17 (million)
% 0.12/0.39  % (9915)------------------------------
% 0.12/0.39  % (9915)------------------------------
% 0.12/0.39  % (9918)Instruction limit reached!
% 0.12/0.39  % (9918)------------------------------
% 0.12/0.39  % (9918)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.39  % (9918)Termination reason: Unknown
% 0.12/0.39  % (9918)Termination phase: shuffling
% 0.12/0.39  
% 0.12/0.39  % (9918)Memory used [KB]: 1407
% 0.12/0.39  % (9918)Time elapsed: 0.005 s
% 0.12/0.39  % (9918)Instructions burned: 7 (million)
% 0.12/0.39  % (9918)------------------------------
% 0.12/0.39  % (9918)------------------------------
% 0.12/0.39  % (9919)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on theBenchmark for (2999ds/16Mi)
% 0.12/0.40  % (9920)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.12/0.40  % (9920)Instruction limit reached!
% 0.12/0.40  % (9920)------------------------------
% 0.12/0.40  % (9920)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.40  % (9920)Termination reason: Unknown
% 0.12/0.40  % (9920)Termination phase: shuffling
% 0.12/0.40  
% 0.12/0.40  % (9920)Memory used [KB]: 1279
% 0.12/0.40  % (9920)Time elapsed: 0.003 s
% 0.12/0.40  % (9920)Instructions burned: 3 (million)
% 0.12/0.40  % (9920)------------------------------
% 0.12/0.40  % (9920)------------------------------
% 0.12/0.40  % (9914)Instruction limit reached!
% 0.12/0.40  % (9914)------------------------------
% 0.12/0.40  % (9914)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.40  % (9914)Termination reason: Unknown
% 0.12/0.40  % (9914)Termination phase: Property scanning
% 0.12/0.40  
% 0.12/0.40  % (9914)Memory used [KB]: 1791
% 0.12/0.40  % (9914)Time elapsed: 0.018 s
% 0.12/0.40  % (9914)Instructions burned: 38 (million)
% 0.12/0.40  % (9914)------------------------------
% 0.12/0.40  % (9914)------------------------------
% 0.12/0.40  % (9919)Instruction limit reached!
% 0.12/0.40  % (9919)------------------------------
% 0.12/0.40  % (9919)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.40  % (9919)Termination reason: Unknown
% 0.12/0.40  % (9919)Termination phase: shuffling
% 0.12/0.40  
% 0.12/0.40  % (9919)Memory used [KB]: 1535
% 0.12/0.40  % (9919)Time elapsed: 0.009 s
% 0.12/0.40  % (9919)Instructions burned: 17 (million)
% 0.12/0.40  % (9919)------------------------------
% 0.12/0.40  % (9919)------------------------------
% 0.12/0.40  % (9921)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.12/0.40  % (9921)Instruction limit reached!
% 0.12/0.40  % (9921)------------------------------
% 0.12/0.40  % (9921)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.12/0.40  % (9921)Termination reason: Unknown
% 0.12/0.40  % (9922)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on theBenchmark for (2999ds/7Mi)
% 0.12/0.40  % (9921)Termination phase: shuffling
% 0.12/0.40  
% 0.12/0.40  % (9921)Memory used [KB]: 1279
% 0.12/0.40  % (9921)Time elapsed: 0.003 s
% 0.12/0.40  % (9921)Instructions burned: 3 (million)
% 0.12/0.40  % (9921)------------------------------
% 0.12/0.40  % (9921)------------------------------
% 0.20/0.41  % (9923)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.20/0.41  % (9922)Instruction limit reached!
% 0.20/0.41  % (9922)------------------------------
% 0.20/0.41  % (9922)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.41  % (9922)Termination reason: Unknown
% 0.20/0.41  % (9922)Termination phase: shuffling
% 0.20/0.41  
% 0.20/0.41  % (9922)Memory used [KB]: 1407
% 0.20/0.41  % (9922)Time elapsed: 0.005 s
% 0.20/0.41  % (9922)Instructions burned: 8 (million)
% 0.20/0.41  % (9922)------------------------------
% 0.20/0.41  % (9922)------------------------------
% 0.20/0.41  % (9923)Instruction limit reached!
% 0.20/0.41  % (9923)------------------------------
% 0.20/0.41  % (9923)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.41  % (9923)Termination reason: Unknown
% 0.20/0.41  % (9923)Termination phase: shuffling
% 0.20/0.41  
% 0.20/0.41  % (9923)Memory used [KB]: 1279
% 0.20/0.41  % (9923)Time elapsed: 0.003 s
% 0.20/0.41  % (9923)Instructions burned: 3 (million)
% 0.20/0.41  % (9923)------------------------------
% 0.20/0.41  % (9923)------------------------------
% 0.20/0.41  % (9924)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on theBenchmark for (2999ds/4Mi)
% 0.20/0.41  % (9925)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on theBenchmark for (2999ds/18Mi)
% 0.20/0.41  % (9924)Instruction limit reached!
% 0.20/0.41  % (9924)------------------------------
% 0.20/0.41  % (9924)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.41  % (9924)Termination reason: Unknown
% 0.20/0.41  % (9924)Termination phase: shuffling
% 0.20/0.41  
% 0.20/0.41  % (9924)Memory used [KB]: 1279
% 0.20/0.41  % (9924)Time elapsed: 0.004 s
% 0.20/0.41  % (9924)Instructions burned: 6 (million)
% 0.20/0.41  % (9924)------------------------------
% 0.20/0.41  % (9924)------------------------------
% 0.20/0.41  % (9926)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on theBenchmark for (2999ds/710Mi)
% 0.20/0.42  % (9927)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on theBenchmark for (2999ds/6Mi)
% 0.20/0.42  % (9927)Instruction limit reached!
% 0.20/0.42  % (9927)------------------------------
% 0.20/0.42  % (9927)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.42  % (9927)Termination reason: Unknown
% 0.20/0.42  % (9927)Termination phase: shuffling
% 0.20/0.42  
% 0.20/0.42  % (9927)Memory used [KB]: 1279
% 0.20/0.42  % (9927)Time elapsed: 0.004 s
% 0.20/0.42  % (9927)Instructions burned: 6 (million)
% 0.20/0.42  % (9927)------------------------------
% 0.20/0.42  % (9927)------------------------------
% 0.20/0.42  % (9925)Instruction limit reached!
% 0.20/0.42  % (9925)------------------------------
% 0.20/0.42  % (9925)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.42  % (9925)Termination reason: Unknown
% 0.20/0.42  % (9925)Termination phase: shuffling
% 0.20/0.42  
% 0.20/0.42  % (9925)Memory used [KB]: 1663
% 0.20/0.42  % (9925)Time elapsed: 0.010 s
% 0.20/0.42  % (9925)Instructions burned: 19 (million)
% 0.20/0.42  % (9925)------------------------------
% 0.20/0.42  % (9925)------------------------------
% 0.20/0.42  % (9928)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on theBenchmark for (2999ds/902Mi)
% 0.20/0.42  % (9929)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on theBenchmark for (2999ds/21Mi)
% 0.20/0.43  % (9930)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on theBenchmark for (2999ds/5Mi)
% 0.20/0.43  % (9930)Instruction limit reached!
% 0.20/0.43  % (9930)------------------------------
% 0.20/0.43  % (9930)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.43  % (9930)Termination reason: Unknown
% 0.20/0.43  % (9930)Termination phase: shuffling
% 0.20/0.43  
% 0.20/0.43  % (9930)Memory used [KB]: 1279
% 0.20/0.43  % (9930)Time elapsed: 0.004 s
% 0.20/0.43  % (9930)Instructions burned: 5 (million)
% 0.20/0.43  % (9926)Refutation not found, incomplete strategy
% 0.20/0.43  % (9926)------------------------------
% 0.20/0.43  % (9926)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.43  % (9930)------------------------------
% 0.20/0.43  % (9930)------------------------------
% 0.20/0.43  % (9926)Termination reason: Refutation not found, incomplete strategy
% 0.20/0.43  
% 0.20/0.43  
% 0.20/0.43  % (9926)Memory used [KB]: 6268
% 0.20/0.43  % (9926)Time elapsed: 0.016 s
% 0.20/0.43  % (9926)Instructions burned: 28 (million)
% 0.20/0.43  % (9926)------------------------------
% 0.20/0.43  % (9926)------------------------------
% 0.20/0.43  % (9929)Instruction limit reached!
% 0.20/0.43  % (9929)------------------------------
% 0.20/0.43  % (9929)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.43  % (9929)Termination reason: Unknown
% 0.20/0.43  % (9929)Termination phase: shuffling
% 0.20/0.43  
% 0.20/0.43  % (9929)Memory used [KB]: 1663
% 0.20/0.43  % (9929)Time elapsed: 0.011 s
% 0.20/0.43  % (9929)Instructions burned: 21 (million)
% 0.20/0.43  % (9929)------------------------------
% 0.20/0.43  % (9929)------------------------------
% 0.20/0.43  % (9931)lrs+2_1:1_cnfonf=lazy_not_gen_be_off:cs=on:fe=off:hud=10:inj=on:ins=3:plsq=on:plsqc=1:sd=10:ss=axioms:tnu=1:i=6:si=on:rtra=on_0 on theBenchmark for (2999ds/6Mi)
% 0.20/0.43  % (9932)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=377:si=on:rtra=on_0 on theBenchmark for (2999ds/377Mi)
% 0.20/0.43  % (9931)Instruction limit reached!
% 0.20/0.43  % (9931)------------------------------
% 0.20/0.43  % (9931)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.43  % (9931)Termination reason: Unknown
% 0.20/0.43  % (9931)Termination phase: shuffling
% 0.20/0.43  
% 0.20/0.43  % (9931)Memory used [KB]: 1279
% 0.20/0.43  % (9931)Time elapsed: 0.004 s
% 0.20/0.43  % (9931)Instructions burned: 6 (million)
% 0.20/0.43  % (9931)------------------------------
% 0.20/0.43  % (9931)------------------------------
% 0.20/0.44  % (9933)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=779:si=on:rtra=on_0 on theBenchmark for (2999ds/779Mi)
% 0.20/0.44  % (9934)lrs+10_1:1_cnfonf=lazy_not_be_gen:ntd=on:sp=const_min:ss=axioms:sup=off:i=19:si=on:rtra=on_0 on theBenchmark for (2999ds/19Mi)
% 0.20/0.44  % (9906)Instruction limit reached!
% 0.20/0.44  % (9906)------------------------------
% 0.20/0.44  % (9906)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.44  % (9906)Termination reason: Unknown
% 0.20/0.44  % (9906)Termination phase: Saturation
% 0.20/0.44  
% 0.20/0.44  % (9906)Memory used [KB]: 6780
% 0.20/0.44  % (9906)Time elapsed: 0.078 s
% 0.20/0.44  % (9906)Instructions burned: 184 (million)
% 0.20/0.44  % (9906)------------------------------
% 0.20/0.44  % (9906)------------------------------
% 0.20/0.44  % (9935)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on theBenchmark for (2999ds/879Mi)
% 0.20/0.45  % (9936)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on theBenchmark for (2999ds/17Mi)
% 0.20/0.45  % (9934)Instruction limit reached!
% 0.20/0.45  % (9934)------------------------------
% 0.20/0.45  % (9934)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.45  % (9934)Termination reason: Unknown
% 0.20/0.45  % (9934)Termination phase: shuffling
% 0.20/0.45  
% 0.20/0.45  % (9934)Memory used [KB]: 1663
% 0.20/0.45  % (9934)Time elapsed: 0.010 s
% 0.20/0.45  % (9934)Instructions burned: 19 (million)
% 0.20/0.45  % (9934)------------------------------
% 0.20/0.45  % (9934)------------------------------
% 0.20/0.46  % (9936)Instruction limit reached!
% 0.20/0.46  % (9936)------------------------------
% 0.20/0.46  % (9936)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.46  % (9936)Termination reason: Unknown
% 0.20/0.46  % (9936)Termination phase: shuffling
% 0.20/0.46  
% 0.20/0.46  % (9936)Memory used [KB]: 1663
% 0.20/0.46  % (9936)Time elapsed: 0.010 s
% 0.20/0.46  % (9936)Instructions burned: 19 (million)
% 0.20/0.46  % (9936)------------------------------
% 0.20/0.46  % (9936)------------------------------
% 0.20/0.46  % (9937)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on theBenchmark for (2999ds/3Mi)
% 0.20/0.46  % (9937)Instruction limit reached!
% 0.20/0.46  % (9937)------------------------------
% 0.20/0.46  % (9937)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.46  % (9937)Termination reason: Unknown
% 0.20/0.46  % (9937)Termination phase: shuffling
% 0.20/0.46  
% 0.20/0.46  % (9937)Memory used [KB]: 1279
% 0.20/0.46  % (9937)Time elapsed: 0.003 s
% 0.20/0.46  % (9937)Instructions burned: 3 (million)
% 0.20/0.46  % (9937)------------------------------
% 0.20/0.46  % (9937)------------------------------
% 0.20/0.46  % (9938)lrs+1010_1:8_cnfonf=off:hud=1:inj=on:tnu=5:i=30:si=on:rtra=on_0 on theBenchmark for (2998ds/30Mi)
% 0.20/0.47  % (9939)dis+10_1:1_ixr=off:plsq=on:plsqc=1:plsqr=32,1:s2a=on:i=127:si=on:rtra=on_0 on theBenchmark for (2998ds/127Mi)
% 0.20/0.47  % (9940)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=100:si=on:rtra=on_0 on theBenchmark for (2998ds/100Mi)
% 0.20/0.47  % (9935)Refutation not found, incomplete strategy
% 0.20/0.47  % (9935)------------------------------
% 0.20/0.47  % (9935)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.47  % (9935)Termination reason: Refutation not found, incomplete strategy
% 0.20/0.47  
% 0.20/0.47  
% 0.20/0.47  % (9935)Memory used [KB]: 6268
% 0.20/0.47  % (9935)Time elapsed: 0.029 s
% 0.20/0.47  % (9935)Instructions burned: 62 (million)
% 0.20/0.47  % (9935)------------------------------
% 0.20/0.47  % (9935)------------------------------
% 0.20/0.48  % (9938)Instruction limit reached!
% 0.20/0.48  % (9938)------------------------------
% 0.20/0.48  % (9938)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.48  % (9938)Termination reason: Unknown
% 0.20/0.48  % (9938)Termination phase: Property scanning
% 0.20/0.48  
% 0.20/0.48  % (9938)Memory used [KB]: 1791
% 0.20/0.48  % (9938)Time elapsed: 0.015 s
% 0.20/0.48  % (9938)Instructions burned: 30 (million)
% 0.20/0.48  % (9938)------------------------------
% 0.20/0.48  % (9938)------------------------------
% 0.20/0.49  % (9941)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=3:si=on:rtra=on_0 on theBenchmark for (2998ds/3Mi)
% 0.20/0.49  % (9941)Instruction limit reached!
% 0.20/0.49  % (9941)------------------------------
% 0.20/0.49  % (9941)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.49  % (9941)Termination reason: Unknown
% 0.20/0.49  % (9941)Termination phase: shuffling
% 0.20/0.49  
% 0.20/0.49  % (9941)Memory used [KB]: 1279
% 0.20/0.49  % (9941)Time elapsed: 0.003 s
% 0.20/0.49  % (9941)Instructions burned: 3 (million)
% 0.20/0.49  % (9941)------------------------------
% 0.20/0.49  % (9941)------------------------------
% 0.20/0.49  % (9942)lrs+10_8:1_au=on:avsq=on:e2e=on:ins=3:s2a=on:s2at=3.0:ss=axioms:i=20:si=on:rtra=on_0 on theBenchmark for (2998ds/20Mi)
% 0.20/0.50  % (9943)dis+1002_1:1_cbe=off:hud=5:nm=4:plsq=on:plsqr=7,1:prag=on:sp=const_max:tnu=1:i=86:si=on:rtra=on_0 on theBenchmark for (2998ds/86Mi)
% 0.20/0.50  % (9942)Instruction limit reached!
% 0.20/0.50  % (9942)------------------------------
% 0.20/0.50  % (9942)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.50  % (9942)Termination reason: Unknown
% 0.20/0.50  % (9942)Termination phase: Property scanning
% 0.20/0.50  
% 0.20/0.50  % (9942)Memory used [KB]: 1663
% 0.20/0.50  % (9942)Time elapsed: 0.012 s
% 0.20/0.50  % (9942)Instructions burned: 21 (million)
% 0.20/0.50  % (9942)------------------------------
% 0.20/0.50  % (9942)------------------------------
% 0.20/0.51  % (9940)Instruction limit reached!
% 0.20/0.51  % (9940)------------------------------
% 0.20/0.51  % (9940)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.51  % (9940)Termination reason: Unknown
% 0.20/0.51  % (9940)Termination phase: Saturation
% 0.20/0.51  
% 0.20/0.51  % (9940)Memory used [KB]: 6524
% 0.20/0.51  % (9940)Time elapsed: 0.043 s
% 0.20/0.51  % (9940)Instructions burned: 102 (million)
% 0.20/0.51  % (9940)------------------------------
% 0.20/0.51  % (9940)------------------------------
% 0.20/0.52  % (9944)lrs+1010_1:1_au=on:cbe=off:nm=2:ntd=on:sd=2:ss=axioms:st=5.0:i=107:si=on:rtra=on_0 on theBenchmark for (2998ds/107Mi)
% 0.20/0.52  % (9939)Instruction limit reached!
% 0.20/0.52  % (9939)------------------------------
% 0.20/0.52  % (9939)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.52  % (9939)Termination reason: Unknown
% 0.20/0.52  % (9939)Termination phase: Saturation
% 0.20/0.52  
% 0.20/0.52  % (9939)Memory used [KB]: 6524
% 0.20/0.52  % (9939)Time elapsed: 0.053 s
% 0.20/0.52  % (9939)Instructions burned: 128 (million)
% 0.20/0.52  % (9939)------------------------------
% 0.20/0.52  % (9939)------------------------------
% 0.20/0.53  % (9945)lrs+2_1:1024_cnfonf=lazy_gen:fe=off:hud=15:plsq=on:plsqc=1:plsqr=32,1:i=39:si=on:rtra=on_0 on theBenchmark for (2998ds/39Mi)
% 0.20/0.53  % (9932)First to succeed.
% 0.20/0.53  % (9946)dis+10_1:1_cnfonf=lazy_not_gen:fsr=off:kws=precedence:nwc=5.0:s2a=on:ss=axioms:st=1.5:i=448:si=on:rtra=on_0 on theBenchmark for (2998ds/448Mi)
% 0.20/0.54  % (9943)Instruction limit reached!
% 0.20/0.54  % (9943)------------------------------
% 0.20/0.54  % (9943)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.54  % (9943)Termination reason: Unknown
% 0.20/0.54  % (9943)Termination phase: Property scanning
% 0.20/0.54  
% 0.20/0.54  % (9943)Memory used [KB]: 2046
% 0.20/0.54  % (9943)Time elapsed: 0.037 s
% 0.20/0.54  % (9943)Instructions burned: 87 (million)
% 0.20/0.54  % (9943)------------------------------
% 0.20/0.54  % (9943)------------------------------
% 0.20/0.54  % (9945)Instruction limit reached!
% 0.20/0.54  % (9945)------------------------------
% 0.20/0.54  % (9945)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.54  % (9945)Termination reason: Unknown
% 0.20/0.54  % (9945)Termination phase: Property scanning
% 0.20/0.54  
% 0.20/0.54  % (9945)Memory used [KB]: 1791
% 0.20/0.54  % (9945)Time elapsed: 0.019 s
% 0.20/0.54  % (9945)Instructions burned: 41 (million)
% 0.20/0.54  % (9945)------------------------------
% 0.20/0.54  % (9945)------------------------------
% 0.20/0.55  % (9947)lrs+10_1:512_au=on:fde=unused:lma=on:nm=32:plsq=on:plsqc=1:plsqr=16121663,131072:sfv=off:sp=const_max:ss=axioms:st=3.0:tgt=full:i=46:si=on:rtra=on_0 on theBenchmark for (2998ds/46Mi)
% 0.20/0.56  % (9948)lrs+10_1:10_au=on:av=off:cbe=off:cnfonf=lazy_pi_sigma_gen:ntd=on:plsq=on:plsqc=1:plsqr=32,1:i=98:si=on:rtra=on_0 on theBenchmark for (2998ds/98Mi)
% 0.20/0.56  % (9944)Instruction limit reached!
% 0.20/0.56  % (9944)------------------------------
% 0.20/0.56  % (9944)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.56  % (9944)Termination reason: Unknown
% 0.20/0.56  % (9944)Termination phase: Saturation
% 0.20/0.56  
% 0.20/0.56  % (9944)Memory used [KB]: 6396
% 0.20/0.56  % (9944)Time elapsed: 0.047 s
% 0.20/0.56  % (9944)Instructions burned: 108 (million)
% 0.20/0.56  % (9944)------------------------------
% 0.20/0.56  % (9944)------------------------------
% 0.20/0.57  % (9947)Instruction limit reached!
% 0.20/0.57  % (9947)------------------------------
% 0.20/0.57  % (9947)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.57  % (9947)Termination reason: Unknown
% 0.20/0.57  % (9947)Termination phase: SInE selection
% 0.20/0.57  
% 0.20/0.57  % (9947)Memory used [KB]: 1791
% 0.20/0.57  % (9947)Time elapsed: 0.022 s
% 0.20/0.57  % (9947)Instructions burned: 47 (million)
% 0.20/0.57  % (9947)------------------------------
% 0.20/0.57  % (9947)------------------------------
% 0.20/0.57  % (9949)ott+1002_1:1_apa=on:au=on:bd=off:cnfonf=off:fd=off:sos=on:sp=weighted_frequency:i=507:si=on:rtra=on_0 on theBenchmark for (2997ds/507Mi)
% 0.20/0.58  % (9932)Refutation found. Thanks to Tanya!
% 0.20/0.58  % SZS status Theorem for theBenchmark
% 0.20/0.58  % SZS output start Proof for theBenchmark
% See solution above
% 0.20/0.58  % (9932)------------------------------
% 0.20/0.58  % (9932)Version: Vampire 4.8 HO - Sledgehammer schedules (2023-10-19)
% 0.20/0.58  % (9932)Termination reason: Refutation
% 0.20/0.58  
% 0.20/0.58  % (9932)Memory used [KB]: 9850
% 0.20/0.58  % (9932)Time elapsed: 0.142 s
% 0.20/0.58  % (9932)Instructions burned: 218 (million)
% 0.20/0.58  % (9932)------------------------------
% 0.20/0.58  % (9932)------------------------------
% 0.20/0.58  % (9905)Success in time 0.227 s
% 0.20/0.58  % Vampire---4.8 exiting
%------------------------------------------------------------------------------